
<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en"><head profile="http://www.w3.org/2006/03/hcard">
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <title>Transforming RFC2629-formatted XML through XSLT</title><style type="text/css" title="Xml2Rfc (sans serif)">
a {
  text-decoration: none;
}
a.smpl {
  color: black;
}
a:hover {
  text-decoration: underline;
}
a:active {
  text-decoration: underline;
}
address {
  margin-top: 1em;
  margin-left: 2em;
  font-style: normal;
}
body {
  color: black;
  font-family: verdana, helvetica, arial, sans-serif;
  font-size: 10pt;
}
cite {
  font-style: normal;
}
dd {
  margin-right: 2em;
}
dl {
  margin-left: 2em;
}

dl.empty dd {
  margin-top: .5em;
}
dl p {
  margin-left: 0em;
}
dt {
  margin-top: .5em;
}
h1 {
  font-size: 14pt;
  line-height: 21pt;
  page-break-after: avoid;
}
h1.np {
  page-break-before: always;
}
h1 a {
  color: #333333;
}
h2 {
  font-size: 12pt;
  line-height: 15pt;
  page-break-after: avoid;
}
h2 a {
  color: black;
}
h3 {
  font-size: 10pt;
  page-break-after: avoid;
}
h3 a {
  color: black;
}
h4 {
  font-size: 10pt;
  page-break-after: avoid;
}
h4 a {
  color: black;
}
h5 {
  font-size: 10pt;
  page-break-after: avoid;
}
h5 a {
  color: black;
}
img {
  margin-left: 3em;
}
li {
  margin-left: 2em;
  margin-right: 2em;
}
ol {
  margin-left: 2em;
  margin-right: 2em;
}
ol p {
  margin-left: 0em;
}
p {
  margin-left: 2em;
  margin-right: 2em;
}
pre {
  margin-left: 3em;
  background-color: lightyellow;
  padding: .25em;
}
pre.text2 {
  border-style: dotted;
  border-width: 1px;
  background-color: #f0f0f0;
  width: 69em;
}
pre.inline {
  background-color: white;
  padding: 0em;
}
pre.text {
  border-style: dotted;
  border-width: 1px;
  background-color: #f8f8f8;
  width: 69em;
}
pre.drawing {
  border-style: solid;
  border-width: 1px;
  background-color: #f8f8f8;
  padding: 2em;
}
table {
  margin-left: 2em;
}
table.tt {
  vertical-align: top;
}
table.full {
  border-style: outset;
  border-width: 1px;
}
table.headers {
  border-style: outset;
  border-width: 1px;
}
table.tt td {
  vertical-align: top;
}
table.full td {
  border-style: inset;
  border-width: 1px;
}
table.tt th {
  vertical-align: top;
}
table.full th {
  border-style: inset;
  border-width: 1px;
}
table.headers th {
  border-style: none none inset none;
  border-width: 1px;
}
table.header {
  width: 95%;
  font-size: 10pt;
  color: white;
}
td.top {
  vertical-align: top;
}
td.topnowrap {
  vertical-align: top;
  white-space: nowrap; 
}
td.header {
  background-color: gray;
  width: 50%;
}
td.reference {
  vertical-align: top;
  white-space: nowrap;
  padding-right: 1em;
}
thead {
  display:table-header-group;
}
ul.toc {
  list-style: none;
  margin-left: 1.5em;
  margin-right: 0em;
  padding-left: 0em;
}
li.tocline0 {
  line-height: 150%;
  font-weight: bold;
  font-size: 10pt;
  margin-left: 0em;
  margin-right: 0em;
}
li.tocline1 {
  line-height: normal;
  font-weight: normal;
  font-size: 9pt;
  margin-left: 0em;
  margin-right: 0em;
}
li.tocline2 {
  font-size: 0pt;
}
ul p {
  margin-left: 0em;
}
ul.ind {
  list-style: none;
  margin-left: 1.5em;
  margin-right: 0em;
  padding-left: 0em;
}
li.indline0 {
  font-weight: bold;
  line-height: 200%;
  margin-left: 0em;
  margin-right: 0em;
}
li.indline1 {
  font-weight: normal;
  line-height: 150%;
  margin-left: 0em;
  margin-right: 0em;
}

.comment {
  background-color: yellow;
}
.center {
  text-align: center;
}
.error {
  color: red;
  font-style: italic;
  font-weight: bold;
}
.figure {
  font-weight: bold;
  text-align: center;
  font-size: 9pt;
}
.filename {
  color: #333333;
  font-weight: bold;
  font-size: 12pt;
  line-height: 21pt;
  text-align: center;
}
.fn {
  font-weight: bold;
}
.hidden {
  display: none;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.title {
  color: #990000;
  font-size: 18pt;
  line-height: 18pt;
  font-weight: bold;
  text-align: center;
  margin-top: 36pt;
}
.vcardline {
  display: block;
}
.warning {
  font-size: 14pt;
  background-color: yellow;
}


@media print {
  .noprint {
    display: none;
  }
  
  a {
    color: black;
    text-decoration: none;
  }

  table.header {
    width: 90%;
  }

  td.header {
    width: 50%;
    color: black;
    background-color: white;
    vertical-align: top;
    font-size: 12pt;
  }

  ul.toc a::after {
    content: leader('.') target-counter(attr(href), page);
  }
  
  a.iref {
    content: target-counter(attr(href), page);
  }
  
  .print2col {
    column-count: 2;
    -moz-column-count: 2;
    column-fill: auto;
  }
}

@page {
  @top-left {
       content: "Documentation"; 
  } 
  @top-right {
       content: "March 2008"; 
  } 
  @top-center {
       content: "RFC2629 through XSLT"; 
  } 
  @bottom-left {
       content: "Reschke"; 
  } 
  @bottom-center {
       content: ""; 
  } 
  @bottom-right {
       content: "[Page " counter(page) "]"; 
  } 
}

@page:first { 
    @top-left {
      content: normal;
    }
    @top-right {
      content: normal;
    }
    @top-center {
      content: normal;
    }
}
</style><link rel="Contents" href="#rfc.toc"><link rel="Author" href="#rfc.authors"><link rel="Index" href="#rfc.index"><link rel="Chapter" title="1 Introduction" href="#rfc.section.1"><link rel="Chapter" title="2 Supported RFC2629 elements" href="#rfc.section.2"><link rel="Chapter" title="3 Processing Instructions" href="#rfc.section.3"><link rel="Chapter" title="4 Anchors" href="#rfc.section.4"><link rel="Chapter" title="5 Supported XSLT engines" href="#rfc.section.5"><link rel="Chapter" title="6 Transforming to HTML" href="#rfc.section.6"><link rel="Chapter" title="7 Transforming to XHTML" href="#rfc.section.7"><link rel="Chapter" title="8 Transforming to CHM (Microsoft Compiled Help)" href="#rfc.section.8"><link rel="Chapter" title="9 Transforming to PDF via XSL-FO" href="#rfc.section.9"><link rel="Chapter" title="10 Generic Extensions" href="#rfc.section.10"><link rel="Chapter" title="11 Utilities" href="#rfc.section.11"><link rel="Chapter" href="#rfc.section.12" title="12 Informative References"><link rel="Appendix" title="A RELAX NG Compact Schema" href="#rfc.section.A"><link rel="Appendix" title="B Implementation Notes" href="#rfc.section.B"><link rel="Appendix" title="C License" href="#rfc.section.C"><link rel="Appendix" title="D Change Logs" href="#rfc.section.D"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.364, 2008-03-02 13:39:01, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, xml2rfc, XSLT, hCard, XSL-FO, PDF, GRDDL, Dublin Core"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.Creator" content="Reschke, J. F."></head><body><table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"><tr><td class="header left">RFC2629 through XSLT</td><td class="header right">J. F. Reschke</td></tr><tr><td class="header left"></td><td class="header right">greenbytes</td></tr><tr><td class="header left"></td><td class="header right">March 2008</td></tr></table><p class="title">Transforming RFC2629-formatted XML through XSLT</p><hr class="noprint"><h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1><ul class="toc"><li class="tocline0">1.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1">Introduction</a></li><li class="tocline0">2.&nbsp;&nbsp;&nbsp;<a href="#supported.elements">Supported RFC2629 elements</a><ul class="toc"><li class="tocline1">2.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li class="tocline0">3.&nbsp;&nbsp;&nbsp;<a href="#processing.instructions">Processing Instructions</a><ul class="toc"><li class="tocline1">3.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li class="tocline1">3.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li class="tocline1">3.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li class="tocline0">4.&nbsp;&nbsp;&nbsp;<a href="#anchors">Anchors</a></li><li class="tocline0">5.&nbsp;&nbsp;&nbsp;<a href="#xslt.engines">Supported XSLT engines</a><ul class="toc"><li class="tocline1">5.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.1">Standalone Engines</a></li><li class="tocline1">5.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.2">In-Browser Engines</a></li></ul></li><li class="tocline0">6.&nbsp;&nbsp;&nbsp;<a href="#output.html">Transforming to HTML</a><ul class="toc"><li class="tocline1">6.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.1">HTML compliance</a></li><li class="tocline1">6.2&nbsp;&nbsp;&nbsp;<a href="#html.link">Standard HTML LINK elements</a></li><li class="tocline1">6.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.3">Standard HTML metadata</a></li><li class="tocline1">6.4&nbsp;&nbsp;&nbsp;<a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li class="tocline1">6.5&nbsp;&nbsp;&nbsp;<a href="#hcard">Experimental hCard support</a></li></ul></li><li class="tocline0">7.&nbsp;&nbsp;&nbsp;<a href="#output.xhtml">Transforming to XHTML</a></li><li class="tocline0">8.&nbsp;&nbsp;&nbsp;<a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li class="tocline0">9.&nbsp;&nbsp;&nbsp;<a href="#output.pdf">Transforming to PDF via XSL-FO</a><ul class="toc"><li class="tocline1">9.1&nbsp;&nbsp;&nbsp;<a href="#output.pdf.fop">Via XSL-FO</a><ul class="toc"><li class="tocline1">9.1.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li class="tocline1">9.1.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li class="tocline1">9.2&nbsp;&nbsp;&nbsp;<a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li class="tocline0">10.&nbsp;&nbsp;&nbsp;<a href="#extensions">Generic Extensions</a><ul class="toc"><li class="tocline1">10.1&nbsp;&nbsp;&nbsp;<a href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></li><li class="tocline1">10.2&nbsp;&nbsp;&nbsp;<a href="#ext.element.bcp14">&lt;bcp14&gt; element</a></li><li class="tocline1">10.3&nbsp;&nbsp;&nbsp;<a href="#ext.element.bb">&lt;bb&gt; element</a></li><li class="tocline1">10.4&nbsp;&nbsp;&nbsp;<a href="#ext.element.bc">&lt;bc&gt; element</a></li><li class="tocline1">10.5&nbsp;&nbsp;&nbsp;<a href="#ext.element.blockquote">&lt;blockquote&gt; element</a></li><li class="tocline1">10.6&nbsp;&nbsp;&nbsp;<a href="#ext.element.bt">&lt;bt&gt; element</a></li><li class="tocline1">10.7&nbsp;&nbsp;&nbsp;<a href="#ext.element.dfn">&lt;dfn&gt; element</a></li><li class="tocline1">10.8&nbsp;&nbsp;&nbsp;<a href="#ext.element.h">&lt;h&gt; element</a></li><li class="tocline1">10.9&nbsp;&nbsp;&nbsp;<a href="#ext.element.length-of">&lt;length-of&gt; element</a></li><li class="tocline1">10.10&nbsp;&nbsp;&nbsp;<a href="#ext.element.link">&lt;link&gt; element</a></li><li class="tocline1">10.11&nbsp;&nbsp;&nbsp;<a href="#ext.element.lt">&lt;lt&gt; element</a></li><li class="tocline1">10.12&nbsp;&nbsp;&nbsp;<a href="#ext.element.q">&lt;q&gt; element</a></li><li class="tocline1">10.13&nbsp;&nbsp;&nbsp;<a href="#ext.element.ref">&lt;ref&gt; element</a></li><li class="tocline1">10.14&nbsp;&nbsp;&nbsp;<a href="#ext.element.source">&lt;source&gt; element</a></li><li class="tocline1">10.15&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></li><li class="tocline1">10.16&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></li><li class="tocline1">10.17&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></li><li class="tocline1">10.18&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></li></ul></li><li class="tocline0">11.&nbsp;&nbsp;&nbsp;<a href="#utilities">Utilities</a><ul class="toc"><li class="tocline1">11.1&nbsp;&nbsp;&nbsp;<a href="#checking-references">Checking References</a></li><li class="tocline1">11.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.11.2">Generating Graphs from References</a></li><li class="tocline1">11.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.11.3">Producing reference entries for books</a></li><li class="tocline1">11.4&nbsp;&nbsp;&nbsp;<a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li class="tocline1">11.5&nbsp;&nbsp;&nbsp;<a href="#extract-artwork">Extracting artwork</a></li><li class="tocline1">11.6&nbsp;&nbsp;&nbsp;<a href="#grddl">GRRDL</a></li></ul></li><li class="tocline0">12.&nbsp;&nbsp;&nbsp;<a href="#rfc.references">Informative References</a></li><li class="tocline0"><a href="#rfc.authors">Author's Address</a></li><li class="tocline0">A.&nbsp;&nbsp;&nbsp;<a href="#grammar">RELAX NG Compact Schema</a></li><li class="tocline0">B.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B">Implementation Notes</a><ul class="toc"><li class="tocline1">B.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B.1">Recognized type attributes for &lt;artwork&gt; element</a></li></ul></li><li class="tocline0">C.&nbsp;&nbsp;&nbsp;<a href="#license">License</a></li><li class="tocline0">D.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D">Change Logs</a><ul class="toc"><li class="tocline1">D.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.1">Package</a></li><li class="tocline1">D.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.2">amazon-asin.xslt</a></li><li class="tocline1">D.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.3">check-references.xslt</a></li><li class="tocline1">D.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.4">gen-reference-graph.xslt</a></li><li class="tocline1">D.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.5">rfc2629.xslt</a></li><li class="tocline1">D.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.6">rfc2629toFO.xslt</a></li><li class="tocline1">D.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.7">xsl11toAn.xslt</a></li><li class="tocline1">D.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.8">xsl11toFop.xslt</a></li><li class="tocline1">D.9&nbsp;&nbsp;&nbsp;<a href="#rfc.section.D.9">xsl11toXep.xslt</a></li></ul></li><li class="tocline0"><a href="#rfc.index">Index</a></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a>&nbsp;Introduction</h1><p id="rfc.section.1.p.1">This document describes a set of XSLT transformations that can be used to transform RFC2629-compliant XML (see <a href="#RFC2629" id="rfc.xref.RFC2629.1"><cite title="Writing I-Ds and RFCs using XML">[RFC2629]</cite></a>) to various output formats, such as HTML and PDF. The main topics are </p><ul><li>compliance to the xml2rfc XML element set (<a href="#supported.elements" title="Supported RFC2629 elements">Section&nbsp;2</a>),</li><li>support for xml2rfc processing instructions (<a href="#processing.instructions" title="Processing Instructions">Section&nbsp;3</a>),</li><li>the names of anchor elements generated in HTML and PDF output (<a href="#anchors" title="Anchors">Section&nbsp;4</a>),</li><li>various XSLT engines that can be used (<a href="#xslt.engines" title="Supported XSLT engines">Section&nbsp;5</a>),</li><li>outputting HTML (<a href="#output.html" title="Transforming to HTML">Section&nbsp;6</a>) and XHTML (<a href="#output.xhtml" title="Transforming to XHTML">Section&nbsp;7</a>),</li><li>outputting CHM (Compiled Microsoft Help, <a href="#output.chm" title="Transforming to CHM (Microsoft Compiled Help)">Section&nbsp;8</a>),</li><li>outputting PDF through XSL-FO (<a href="#output.pdf" title="Transforming to PDF via XSL-FO">Section&nbsp;9</a>) and</li><li>various utilities (<a href="#utilities" title="Utilities">Section&nbsp;11</a>).</li></ul><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a>&nbsp;<a id="supported.elements" href="#supported.elements">Supported RFC2629 elements</a></h1><p id="rfc.section.2.p.1"> <samp>rfc2629.xslt</samp> supports both all RFC2629 grammar elements and the extensions implemented in xml2rfc 1.21.</p><h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;Extension elements</h2><p id="rfc.section.2.1.p.1">In addition, <samp>rfc2629.xslt</samp> supports a set of extension elements, using elements and attributes in the namespace "http://greenbytes.de/2002/rfcedit". They are used for </p><ul><li>simple issue tracking and change tracking and</li><li>adding additional metadata to the generated documents (such as HTML LINK elements to related documents, see <a href="#html.link" title="Standard HTML LINK elements">Section&nbsp;6.2</a>).</li></ul><p id="rfc.section.2.1.p.2">Note that these extensions are experimental. Please email the author in case you're interested in using these extensions.</p><hr class="noprint"><h1 id="rfc.section.3" class="np"><a href="#rfc.section.3">3.</a>&nbsp;<a id="processing.instructions" href="#processing.instructions">Processing Instructions</a></h1><p id="rfc.section.3.p.1">All PIs can be set as XSLT parameter as well, overriding any value that is found in the source file to be transformed.</p><div id="rfc.figure.u.1"></div> <p>Using processing instructions:</p>  <pre class="text">&lt;?rfc toc="yes"?&gt;
&lt;?rfc-ext support-rfc2731="no"?&gt;
</pre> <div id="rfc.figure.u.2"></div> <p>Using XSLT parameters (Saxon):</p>  <pre class="text">java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
  xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no &gt; result.html 
</pre> <div id="rfc.figure.u.3"></div> <p>Using XSLT parameters (xsltproc):</p>  <pre class="text">xsltproc --param xml2rfc-toc '"yes"' \
   --param xml2rfc-ext-support-rfc2731 '"no"' \
   rfc2629.xslt source.xml &gt; result.html 
</pre>  <p>(note the required quoting of string parameters)<span id="rfc.iref.x.1"></span></p> <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;Supported xml2rfc-compatible PIs</h2><div id="rfc.table.u.1"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>comment</th></tr></thead><tbody><tr><td>rfc</td><td>background<div id="rfc.iref.b.1"></div><div id="rfc.iref.p.1"></div></td><td>xml2rfc-background<div id="rfc.iref.x.2"></div>  <div id="rfc.iref.p.2"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>compact<div id="rfc.iref.c.1"></div><div id="rfc.iref.p.3"></div></td><td>xml2rfc-compact<div id="rfc.iref.x.3"></div>  <div id="rfc.iref.p.4"></div></td><td>"no"</td><td>only applies to HTML output method when printing</td></tr><tr><td>rfc</td><td>comments<div id="rfc.iref.c.2"></div><div id="rfc.iref.p.5"></div></td><td>xml2rfc-comments<div id="rfc.iref.x.4"></div>  <div id="rfc.iref.p.6"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>editing<div id="rfc.iref.e.1"></div><div id="rfc.iref.p.7"></div></td><td>xml2rfc-editing<div id="rfc.iref.x.5"></div>  <div id="rfc.iref.p.8"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>footer<div id="rfc.iref.f.1"></div><div id="rfc.iref.p.9"></div></td><td>xml2rfc-footer<div id="rfc.iref.x.6"></div>  <div id="rfc.iref.p.10"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>header<div id="rfc.iref.h.1"></div><div id="rfc.iref.p.11"></div></td><td>xml2rfc-header<div id="rfc.iref.x.7"></div>  <div id="rfc.iref.p.12"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>inline<div id="rfc.iref.i.1"></div><div id="rfc.iref.p.13"></div></td><td>xml2rfc-inline<div id="rfc.iref.x.8"></div>  <div id="rfc.iref.p.14"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>iprnotified<div id="rfc.iref.i.2"></div><div id="rfc.iref.p.15"></div></td><td>xml2rfc-iprnotified<div id="rfc.iref.x.9"></div>  <div id="rfc.iref.p.16"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>linkmailto<div id="rfc.iref.l.1"></div><div id="rfc.iref.p.17"></div></td><td>xml2rfc-linkmailto<div id="rfc.iref.x.10"></div>  <div id="rfc.iref.p.18"></div></td><td>"yes"</td><td></td></tr><tr><td>rfc</td><td>private<div id="rfc.iref.p.19"></div><div id="rfc.iref.p.20"></div></td><td>xml2rfc-private<div id="rfc.iref.x.11"></div>  <div id="rfc.iref.p.21"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>sortrefs<div id="rfc.iref.s.1"></div><div id="rfc.iref.p.22"></div></td><td>xml2rfc-sortrefs<div id="rfc.iref.x.12"></div>  <div id="rfc.iref.p.23"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>symrefs<div id="rfc.iref.s.2"></div><div id="rfc.iref.p.24"></div></td><td>xml2rfc-symrefs<div id="rfc.iref.x.13"></div>  <div id="rfc.iref.p.25"></div></td><td>"yes"</td><td>The default has changed from "no" to "yes" as of June 6, 2007 and xml2rfc 1.33pre4.</td></tr><tr><td>rfc</td><td>toc<div id="rfc.iref.t.1"></div><div id="rfc.iref.p.26"></div></td><td>xml2rfc-toc<div id="rfc.iref.x.14"></div>  <div id="rfc.iref.p.27"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>tocdepth<div id="rfc.iref.t.2"></div><div id="rfc.iref.p.28"></div></td><td>xml2rfc-tocdepth<div id="rfc.iref.x.15"></div>  <div id="rfc.iref.p.29"></div></td><td>99</td><td></td></tr><tr><td>rfc</td><td>topblock<div id="rfc.iref.t.3"></div><div id="rfc.iref.p.30"></div></td><td>xml2rfc-topblock<div id="rfc.iref.x.16"></div>  <div id="rfc.iref.p.31"></div></td><td>"yes"</td><td></td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;Unsupported xml2rfc-compatible PIs</h2><div id="rfc.table.u.2"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>comment</th></tr></thead><tbody><tr><td>rfc</td><td>include<div id="rfc.iref.i.3"></div><div id="rfc.iref.p.32"></div></td><td>incompatible with XML/XSLT processing model</td></tr><tr><td>rfc</td><td>needLines<div id="rfc.iref.n.1"></div><div id="rfc.iref.p.33"></div></td><td></td></tr><tr><td>rfc</td><td>slides<div id="rfc.iref.s.3"></div><div id="rfc.iref.p.34"></div></td><td></td></tr><tr><td>rfc</td><td>strict<div id="rfc.iref.s.4"></div><div id="rfc.iref.p.35"></div></td><td></td></tr><tr><td>rfc</td><td>subcompact<div id="rfc.iref.s.5"></div><div id="rfc.iref.p.36"></div></td><td></td></tr><tr><td>rfc</td><td>tocindent<div id="rfc.iref.t.4"></div><div id="rfc.iref.p.37"></div></td><td>(defaults to "yes")</td></tr><tr><td>rfc</td><td>tocompact<div id="rfc.iref.t.5"></div><div id="rfc.iref.p.38"></div></td><td></td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a>&nbsp;Extension PIs</h2><div id="rfc.table.u.3"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>description</th></tr></thead><tbody><tr><td>rfc-ext</td><td>allow-markup-in-artwork<div id="rfc.iref.a.1"></div><div id="rfc.iref.p.39"></div></td><td>xml2rfc-allow-markup-in-artwork<div id="rfc.iref.x.17"></div>  <div id="rfc.iref.p.40"></div></td><td>"no"</td><td>Enables support for specific elements inside abstract elements (using this extension makes the document incompatible to the RFC2629bis DTD; see description of conversion XSLT in <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section&nbsp;11.4</a>).</td></tr><tr><td>rfc-ext</td><td>authors-section<div id="rfc.iref.a.2"></div><div id="rfc.iref.p.41"></div></td><td>xml2rfc-ext-authors-section<div id="rfc.iref.x.18"></div>  <div id="rfc.iref.p.42"></div></td><td></td><td>When "end", place the authors section at the end (just before the copyright statements). This seems to be the preferred order in the newest RFCs.</td></tr><tr><td>rfc-ext</td><td>include-references-in-index<div id="rfc.iref.i.4"></div><div id="rfc.iref.p.43"></div></td><td>xml2rfc-ext-include-references-in-index<div id="rfc.iref.x.19"></div>  <div id="rfc.iref.p.44"></div></td><td></td><td>When set to "yes", index entries are generated for all references.</td></tr><tr><td>rfc-ext</td><td>justification<div id="rfc.iref.j.1"></div><div id="rfc.iref.p.45"></div></td><td>xml2rfc-ext-justification<div id="rfc.iref.x.20"></div>  <div id="rfc.iref.p.46"></div></td><td>"never"</td><td>"never": never emit justified text, "always": always emit justified text, "print": only emit justified text for print media.</td></tr><tr><td>rfc-ext</td><td>parse-xml-in-artwork<div id="rfc.iref.p.47"></div><div id="rfc.iref.p.48"></div></td><td>xml2rfc-parse-xml-in-artwork<div id="rfc.iref.x.21"></div>  <div id="rfc.iref.p.49"></div></td><td>"no"</td><td>May be used to enable parsing of XML content in figures (MSXML only).</td></tr><tr><td>rfc-ext</td><td>support-rfc2731<div id="rfc.iref.s.6"></div><div id="rfc.iref.p.50"></div></td><td>xml2rfc-ext-support-rfc2731<div id="rfc.iref.x.22"></div>  <div id="rfc.iref.p.51"></div></td><td>"yes"</td><td>Decides whether the HTML transformation should generate META tags according <a href="#rfc2731.properties" title="Dublin Core (RFC2731) metadata">Section&nbsp;6.4</a>.</td></tr><tr><td>rfc-ext</td><td>sec-no-trailing-dots<div id="rfc.iref.s.7"></div><div id="rfc.iref.p.52"></div></td><td>xml2rfc-ext-sec-no-trailing-dots<div id="rfc.iref.x.23"></div>  <div id="rfc.iref.p.53"></div></td><td></td><td>When set to "yes", add trailing dots to section numbers. This seems to be the preferred format in the newest RFCs.</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a>&nbsp;<a id="anchors" href="#anchors">Anchors</a></h1><p id="rfc.section.4.p.1">The transformation automatically generates anchors that are supposed to be stable and predictable and that can be used to identify specific parts of the document. Anchors are generated both in HTML and XSL-FO content (but the latter will only be used for PDF output when the XSL-FO engine supports producing PDF anchors).</p><div id="rfc.table.u.4"><p>The following anchors get auto-generated:</p><table summary="The following anchors get auto-generated:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>Anchor name</th><th>Description</th></tr></thead><tbody><tr><td>rfc.abstract <div id="rfc.iref.r.1"></div><div id="rfc.iref.a.3"></div></td><td>Abstract</td></tr><tr><td>rfc.authors <div id="rfc.iref.r.2"></div><div id="rfc.iref.a.4"></div></td><td>Authors section</td></tr><tr><td>rfc.copyright <div id="rfc.iref.r.3"></div><div id="rfc.iref.a.5"></div></td><td>Copyright section</td></tr><tr><td>rfc.copyrightnotice <div id="rfc.iref.r.4"></div><div id="rfc.iref.a.6"></div></td><td>Copyright notice</td></tr><tr><td>rfc.figure.<em>n</em>  <div id="rfc.iref.r.5"></div><div id="rfc.iref.a.7"></div></td><td>Figures (titled)</td></tr><tr><td>rfc.figure.u.<em>n</em>  <div id="rfc.iref.r.6"></div><div id="rfc.iref.a.8"></div></td><td>Figures (untitled)</td></tr><tr><td>rfc.index <div id="rfc.iref.r.7"></div><div id="rfc.iref.a.9"></div></td><td>Index</td></tr><tr><td>rfc.ipr <div id="rfc.iref.r.8"></div><div id="rfc.iref.a.10"></div></td><td>Intellectual Property</td></tr><tr><td>rfc.iref.<em>n</em>  <div id="rfc.iref.r.9"></div><div id="rfc.iref.a.11"></div></td><td>Internal references</td></tr><tr><td>rfc.note.<em>n</em>  <div id="rfc.iref.r.10"></div><div id="rfc.iref.a.12"></div></td><td>Notes (from front section)</td></tr><tr><td>rfc.references <div id="rfc.iref.r.11"></div><div id="rfc.iref.a.13"></div></td><td>References</td></tr><tr><td>rfc.references.<em>n</em>  <div id="rfc.iref.r.12"></div><div id="rfc.iref.a.14"></div></td><td>Additional references</td></tr><tr><td>rfc.section.<em>n</em>  <div id="rfc.iref.r.13"></div><div id="rfc.iref.a.15"></div></td><td>Section <em>n</em></td></tr><tr><td>rfc.section.<em>n</em>.p.<em>m</em>  <div id="rfc.iref.r.14"></div><div id="rfc.iref.a.16"></div></td><td>Section <em>n</em>, paragraph <em>m</em></td></tr><tr><td>rfc.status <div id="rfc.iref.r.15"></div><div id="rfc.iref.a.17"></div></td><td>Status of memo</td></tr><tr><td>rfc.table.<em>n</em>  <div id="rfc.iref.r.16"></div><div id="rfc.iref.a.18"></div></td><td>Tables (titled)</td></tr><tr><td>rfc.table.u.<em>n</em>  <div id="rfc.iref.r.17"></div><div id="rfc.iref.a.19"></div></td><td>Tables (untitled)</td></tr><tr><td>rfc.toc <div id="rfc.iref.r.18"></div><div id="rfc.iref.a.20"></div></td><td>Table of contents</td></tr><tr><td>rfc.xref.<em>name</em>.<em>n</em>  <div id="rfc.iref.r.19"></div><div id="rfc.iref.a.21"></div></td><td>References to reference <em>n</em> to <em>name</em></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a>&nbsp;<a id="xslt.engines" href="#xslt.engines">Supported XSLT engines</a></h1><p id="rfc.section.5.p.1">The transformation requires a non-standard extension function (see <a href="http://www.exslt.org/exsl/functions/node-set/exsl.node-set.html">exsl:node-set</a>) which is however widely available. XSLT processors that do not support this extension (or a functional equivalent) currently are not supported.</p><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;Standalone Engines</h2><p id="rfc.section.5.1.p.1">The following XSLT engines are believed to work well: </p><ul><li><span id="rfc.iref.m.1"></span><span id="rfc.iref.m.2"></span>MSXML3 and MSXML4 (&lt;<a href="http://msdn.microsoft.com/xml">http://msdn.microsoft.com/xml</a>&gt;; these processors do not support exsl:node-set(), but have a similar proprietary extension)</li><li><span id="rfc.iref.s.8"></span>Saxon (&lt;<a href="http://saxon.sourceforge.net/">http://saxon.sourceforge.net/</a>&gt;)</li><li><span id="rfc.iref.x.24"></span>Xalan (&lt;<a href="http://xml.apache.org/xalan-j/">http://xml.apache.org/xalan-j/</a>&gt;)</li><li><span id="rfc.iref.x.25"></span>xsltproc (libxslt) (&lt;<a href="http://xmlsoft.org/XSLT/">http://xmlsoft.org/XSLT/</a>&gt;, make sure that you have a current version)</li></ul><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;In-Browser Engines</h2><p id="rfc.section.5.2.p.1">The following browsers seem to work fine: </p><ul><li><span id="rfc.iref.i.5"></span>Internet Explorer 5.5 (Windows version, if MSXML3 is installed)</li><li><span id="rfc.iref.i.6"></span>Internet Explorer 6</li><li><span id="rfc.iref.i.7"></span>Internet Explorer 7</li><li id="firefox3"><span id="rfc.iref.m.3"></span><span id="rfc.iref.f.2"></span>Firefox 3.* (currently only test builds available)</li><li><span id="rfc.iref.o.1"></span><span id="rfc.iref.o.2"></span>Opera 9.5 (currently only test builds available)</li><li><span id="rfc.iref.s.9"></span><span id="rfc.iref.s.10"></span>Safari 3 (starting with version 3.0.4)</li></ul><p id="rfc.section.5.2.p.2">The following browsers are known not to work properly: </p><ul><li id="firefox12"><span id="rfc.iref.m.4"></span><span id="rfc.iref.f.3"></span>Firefox 1.*/2.* (missing extension function - see change request at Mozilla BugZilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</a>)</li><li id="opera"><span id="rfc.iref.o.3"></span>Opera 9.21: execution fails, potentially to a somewhat complex XPath expression (reported to Opera as bug 245725).</li><li id="safari"><span id="rfc.iref.s.11"></span>Safari 2.* supports client-side XSLT as of MacOS X 10.4, but misses required extension functions. A problem with stylesheets producing non-ASCII output (such as NBSP characters) has been fixed as of OSX 10.4.4. Both problems have been reported through Apple's bug tracking system, see &lt;<a href="http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html">http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html</a>&gt; and &lt;<a href="http://bugs.webkit.org/show_bug.cgi?id=4079">http://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;.</li></ul><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a>&nbsp;<a id="output.html" href="#output.html">Transforming to HTML</a></h1><p id="rfc.section.6.p.1">Transformation to HTML can be done inside the browser if it supports XSLT. To enable this, add the following processing instruction to the start of the source file:</p><div id="rfc.iref.x.26"></div><div id="rfc.figure.u.4"></div><pre class="text">  &lt;?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?&gt;
</pre><p id="rfc.section.6.p.3">(and ensure that <samp>rfc2629.xslt</samp> is present).</p><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;HTML compliance</h2><p id="rfc.section.6.1.p.1">The transformation result is supposed to conform to the HTML 4.01 strict DTD <a href="#HTML" id="rfc.xref.HTML.1"><cite title="HTML 4.01 Specification">[HTML]</cite></a>. This can be checked using the W3C's online validator at &lt;<a href="http://validator.w3.org">http://validator.w3.org</a>&gt;<span id="rfc.iref.h.2"></span>.</p><h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a>&nbsp;<a id="html.link" href="#html.link">Standard HTML LINK elements</a></h2><p id="rfc.section.6.2.p.1">LINK elements exist since HTML 2.0. They can be used to embed content-independant links inside the document. Unfortunately, only few user agents support this element. Firefox users may want to check the <a href="https://addons.mozilla.org/firefox/2933/">Link Widgets</a> extension.</p><div id="rfc.table.u.5"><p>The following LINK elements are produced:</p><table summary="The following LINK elements are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>LINK type</th><th>description</th></tr></thead><tbody><tr><td>alternate<div id="rfc.iref.a.22"></div><div id="rfc.iref.h.3"></div></td><td>for RFCs, a link to the authorative ASCII version on the IETF web site</td></tr><tr><td>appendic<div id="rfc.iref.a.23"></div><div id="rfc.iref.h.4"></div></td><td>pointer to all top-level appendics</td></tr><tr><td>author<div id="rfc.iref.a.24"></div><div id="rfc.iref.h.5"></div></td><td>pointer to "authors" section</td></tr><tr><td>chapter<div id="rfc.iref.c.3"></div><div id="rfc.iref.h.6"></div></td><td>pointer to all top-level sections</td></tr><tr><td>contents<div id="rfc.iref.c.4"></div><div id="rfc.iref.h.7"></div></td><td>pointer to table of contents</td></tr><tr><td>copyright<div id="rfc.iref.c.5"></div><div id="rfc.iref.h.8"></div></td><td>pointer to copyright statement</td></tr><tr><td>index<div id="rfc.iref.i.8"></div><div id="rfc.iref.h.9"></div></td><td>pointer to index</td></tr></tbody></table></div><div id="rfc.figure.u.5"></div> <p>The figure below shows how Mozilla Firefox 1.0 displays the Site Navigation Bar for rfc2396.xml.</p>  <p><img src="rfc2629xslt-fig1.png" alt="&#xA;(LINK elements displayed in Mozilla Firefox for RFC2396.xml)&#xA;" height="235" width="509"></p> <h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a>&nbsp;Standard HTML metadata</h2><div id="rfc.table.u.6"><p>The following standard HTML META elements are produced:</p><table summary="The following standard HTML META elements are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td>generator<div id="rfc.iref.g.1"></div><div id="rfc.iref.h.10"></div></td><td>from XSLT engine version and stylesheet version</td></tr><tr><td>keywords<div id="rfc.iref.k.1"></div><div id="rfc.iref.h.11"></div></td><td>from keyword elements in front section</td></tr></tbody></table></div><h2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a>&nbsp;<a id="rfc2731.properties" href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></h2><p id="rfc.section.6.4.p.1">Unless turned off using the "rfc-ext support-rfc2731" processing instruction, the transformation will generate metadata according to <a href="#RFC2731" id="rfc.xref.RFC2731.1"><cite title="Encoding Dublin Core Metadata in HTML">[RFC2731]</cite></a>.</p><div id="rfc.table.u.7"><p>The following DCMI properties are produced:</p><table summary="The following DCMI properties are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td>DC.Creator<div id="rfc.iref.c.6"></div><div id="rfc.iref.d.1"></div></td><td>from author information in front section</td></tr><tr><td>DC.Date.Issued<div id="rfc.iref.d.2"></div><div id="rfc.iref.d.3"></div></td><td>from date information in front section</td></tr><tr><td>DC.Description.Abstract<div id="rfc.iref.d.4"></div><div id="rfc.iref.d.5"></div></td><td>from abstract</td></tr><tr><td>DC.Identifier<div id="rfc.iref.i.9"></div><div id="rfc.iref.d.6"></div></td><td>document URN <a href="#RFC2648" id="rfc.xref.RFC2648.1"><cite title="A URN Namespace for IETF Documents">[RFC2648]</cite></a> from "docName" attribute</td></tr><tr><td>DC.Relation.Replaces<div id="rfc.iref.r.20"></div><div id="rfc.iref.d.7"></div></td><td>from "obsoletes" attribute</td></tr></tbody></table></div><h2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a>&nbsp;<a id="hcard" href="#hcard">Experimental hCard support</a></h2><p id="rfc.section.6.5.p.1">The generated author information is formatted in <a href="http://microformats.org/wiki/hcard">hCard</a> format.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a>&nbsp;<a id="output.xhtml" href="#output.xhtml">Transforming to XHTML</a></h1><p id="rfc.section.7.p.1">Transforming to XHTML requires slightly different XSLT output options and is implemented by the derived transformation script <samp>rfc2629toXHTML.xslt</samp>.</p><dl class="empty"><dd> <b>Note:</b> Microsoft Internet Explorer does <em>not</em> support XHTML. Therefore it usually makes more sense to generate plain old HTML.</dd></dl><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a>&nbsp;<a id="output.chm" href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></h1><p id="rfc.section.8.p.1"> <span id="rfc.iref.c.7"></span>  <span id="rfc.iref.m.5"></span> To generate a CHM file using Microsoft's HTML Help Compiler (hhc), three files are required in addition to the HTML file. </p><ol><li>hhc - table of contents file (HTML)</li><li>hhk - index file (HTML)</li><li>hhp - project file (plain text)</li></ol><p id="rfc.section.8.p.2">The three files are generated with three specific transformations, each requiring the additional XSLT parameter "basename" to specify the filename prefix.</p><div id="rfc.figure.u.6"></div> <p>Example:</p>  <pre class="text">saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  &gt; rfc2616.hhp
saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  &gt; rfc2616.hhc
saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  &gt; rfc2616.hhk
hhc rfc2616.hhp
</pre> <hr class="noprint"><h1 id="rfc.section.9" class="np"><a href="#rfc.section.9">9.</a>&nbsp;<a id="output.pdf" href="#output.pdf">Transforming to PDF via XSL-FO</a></h1><h2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a>&nbsp;<a id="output.pdf.fop" href="#output.pdf.fop">Via XSL-FO</a></h2><p id="rfc.section.9.1.p.1">Transformation to XSL-FO <a href="#XSL-FO" id="rfc.xref.XSL-FO.1"><cite title="Extensible Stylesheet Language (XSL) Version 1.1">[XSL-FO]</cite></a> format is available through <samp>rfc2629toFO.xslt</samp> (which includes <samp>rfc2629.xslt</samp>, so keep both in the same folder).</p><p id="rfc.section.9.1.p.2">Compared to HTML user agents, XSL-FO engines unfortunately either come as open source (for instance, <span id="rfc.iref.a.25"></span>Apache FOP) or feature-complete (for instance, <span id="rfc.iref.a.26"></span> AntennaHouse XSL Formatter), but not both at the same time.</p><p id="rfc.section.9.1.p.3">As Apache FOP needs special workarounds (page breaking, table layout), and some popular extensions aren't standardized yet, the translation produces a generic output (hopefully) conforming to <a href="#XSL-FO" id="rfc.xref.XSL-FO.2"><cite title="Extensible Stylesheet Language (XSL) Version 1.1">[XSL-FO]</cite></a>. Specific backends (<samp>xsl11toFop.xslt</samp>, <samp>xsl11toXep.xslt</samp>, <samp>xsl11toAn.xslt</samp>) then provide post-processing for the individual processors.</p><p id="rfc.section.9.1.p.4"> </p><dl class="empty"><dd> <b>Note:</b> the output is currently targeted at Apache FOP 0.20.5 (&lt;<a href="http://xmlgraphics.apache.org/fop/0.20.5/">http://xmlgraphics.apache.org/fop/0.20.5/</a>&gt;), not the newer versions.</dd></dl><h3 id="rfc.section.9.1.1"><a href="#rfc.section.9.1.1">9.1.1</a>&nbsp;Extension feature matrix</h3><div id="rfc.table.u.8"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th></th><th class="center" style="width: 20%;">PDF anchors</th><th class="center" style="width: 20%;">PDF bookmarks</th><th class="center" style="width: 20%;">PDF document information</th><th class="center" style="width: 20%;">Index cleanup</th></tr></thead><tbody><tr><td><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/">XSL 1.1 WD</a></td><td class="center">no, but can be auto-generated from "id" attributes</td><td class="center"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12873">yes</a></td><td class="center">no, but uses XEP output extensions</td><td class="center"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12534">yes</a></td></tr><tr><td><a href="http://www.antennahouse.com/">Antenna House XSL formatter</a></td><td class="center">no</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (from XEP document info)</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (just page duplicate elimination, from XSL 1.1 page index)</td></tr><tr><td><a href="http://xml.apache.org/fop/">Apache FOP</a></td><td class="center"><a href="http://xml.apache.org/fop/extensions.html#named-destinations">yes</a></td><td class="center"><a href="http://xml.apache.org/fop/extensions.html#bookmarks">yes</a> (from XSL 1.1 bookmarks)</td><td class="center">no</td><td class="center">no</td></tr><tr><td><a href="http://xep.xattic.com/">RenderX XEP</a></td><td class="center">no</td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a></td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a> (from XSL 1.1 page index)</td></tr></tbody></table></div><h3 id="rfc.section.9.1.2"><a href="#rfc.section.9.1.2">9.1.2</a>&nbsp;Example: producing output for Apache FOP</h3><div id="rfc.figure.u.7"></div> <p>Example:</p>  <pre class="text">saxon rfc2616.xml rfc2629toFo.xslt &gt; tmp.fo
saxon tmp.fo xsl11toFop.xslt &gt; rfc2629.fo
</pre> <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a>&nbsp;<a id="output.pdf.html" href="#output.pdf.html">Via X(HTML)</a></h2><p id="rfc.section.9.2.p.1">PDF output can also be produced directly from (X)HTML. One simple approach is to rely on the browser's printing function, and to use a printer driver that produces PDF. Depending on the brower's CSS capabilities, the output will behave properly with respect to table breaks etc.</p><p id="rfc.section.9.2.p.2">An alternative is PrinceXML (see &lt;<a href="http://www.princexml.com/">http://www.princexml.com/</a>&gt;), which can produce PDF directly from (X)HTML input, based on the CSS printing information.</p><div id="rfc.figure.u.8"></div> <p>For instance, PDF output with text justification turned on can be produced with:</p>  <pre class="text">saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
  &gt; output.xhtml
prince output.xhtml output.pdf</pre> <hr class="noprint"><h1 id="rfc.section.10" class="np"><a href="#rfc.section.10">10.</a>&nbsp;<a id="extensions" href="#extensions">Generic Extensions</a></h1><p id="rfc.section.10.p.1">This section documents extensions implemented in <samp>rfc2629.xslt</samp>, using the extension namespace "http://purl.org/net/xml2rfc/ext".</p><div id="rfc.iref.e.2"></div><div id="rfc.iref.a.27"></div><h2 id="rfc.section.10.1"><a href="#rfc.section.10.1">10.1</a>&nbsp;<a id="ext.element.anchor-alias" href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></h2><p id="rfc.section.10.1.p.1">Using its "value" attribute, this element allows the definition of an internal link target alias for the enclosing element. This alias can then be used with the &lt;<a href="#ext.element.ref" class="smpl">ref</a>&gt; element for intra-document references.</p><p id="rfc.section.10.1.p.2">Note that the anchor alias is not subject to the naming constraints that apply to anchor elements (which are <a href="http://www.w3.org/TR/REC-xml/#NT-Name">XML names</a>).</p><div id="rfc.iref.e.3"></div><div id="rfc.iref.b.2"></div><h2 id="rfc.section.10.2"><a href="#rfc.section.10.2">10.2</a>&nbsp;<a id="ext.element.bcp14" href="#ext.element.bcp14">&lt;bcp14&gt; element</a></h2><p id="rfc.section.10.2.p.1">This element marks the content as being one of the normative keywords defined in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.</p><div id="rfc.figure.u.9"></div> <p>The DOCTYPE definition below allows using these keywords using XML entity expansion: such as in "...server &amp;MUST; accept...".</p>  <pre class="text">&lt;!DOCTYPE rfc [
 &lt;!ENTITY MAY "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;MAY&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY MUST "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;MUST&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY MUST-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;MUST NOT&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY OPTIONAL "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;OPTIONAL&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY RECOMMENDED "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;RECOMMENDED&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY REQUIRED "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;REQUIRED&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY SHALL "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;SHALL&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY SHALL-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;SHALL NOT&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY SHOULD "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;SHOULD&lt;/bcp14&gt;"&gt;
 &lt;!ENTITY SHOULD-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
   &gt;SHOULD NOT&lt;/bcp14&gt;"&gt;]&gt;</pre> <div id="rfc.iref.e.4"></div><div id="rfc.iref.b.3"></div><h2 id="rfc.section.10.3"><a href="#rfc.section.10.3">10.3</a>&nbsp;<a id="ext.element.bb" href="#ext.element.bb">&lt;bb&gt; element</a></h2><p id="rfc.section.10.3.p.1">Marking up a string as &lt;bb&gt; indicates that it represents the bottom line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.5"></div><div id="rfc.iref.b.4"></div><h2 id="rfc.section.10.4"><a href="#rfc.section.10.4">10.4</a>&nbsp;<a id="ext.element.bc" href="#ext.element.bc">&lt;bc&gt; element</a></h2><p id="rfc.section.10.4.p.1">Marking up a string as &lt;bc&gt; indicates that it represents a center line of a box drawing, replacing the "|" character accordingly.</p><div id="rfc.iref.e.6"></div><div id="rfc.iref.b.5"></div><h2 id="rfc.section.10.5"><a href="#rfc.section.10.5">10.5</a>&nbsp;<a id="ext.element.blockquote" href="#ext.element.blockquote">&lt;blockquote&gt; element</a></h2><p id="rfc.section.10.5.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE">blockquote</a>" element in <a href="#HTML" id="rfc.xref.HTML.2"><cite title="HTML 4.01 Specification">[HTML]</cite></a> (note this is a block-level element!). It should contain one or more &lt;t&gt; child elements.</p><div id="rfc.iref.e.7"></div><div id="rfc.iref.b.6"></div><h2 id="rfc.section.10.6"><a href="#rfc.section.10.6">10.6</a>&nbsp;<a id="ext.element.bt" href="#ext.element.bt">&lt;bt&gt; element</a></h2><p id="rfc.section.10.6.p.1">Marking up a string as &lt;bt&gt; indicates that it represents the top line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.8"></div><div id="rfc.iref.d.8"></div><h2 id="rfc.section.10.7"><a href="#rfc.section.10.7">10.7</a>&nbsp;<a id="ext.element.dfn" href="#ext.element.dfn">&lt;dfn&gt; element</a></h2><p id="rfc.section.10.7.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-DFN">dfn</a>" element in <a href="#HTML" id="rfc.xref.HTML.3"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.9"></div><div id="rfc.iref.h.12"></div><h2 id="rfc.section.10.8"><a href="#rfc.section.10.8">10.8</a>&nbsp;<a id="ext.element.h" href="#ext.element.h">&lt;h&gt; element</a></h2><p id="rfc.section.10.8.p.1">This element is like the "<a href="http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-structural.html#edef_structural_h">h</a>" element in <a href="#XHTML2" id="rfc.xref.XHTML2.1"><cite title="XHTML&#8482; 2.0">[XHTML2]</cite></a>.</p><div id="rfc.iref.e.10"></div><div id="rfc.iref.l.2"></div><h2 id="rfc.section.10.9"><a href="#rfc.section.10.9">10.9</a>&nbsp;<a id="ext.element.length-of" href="#ext.element.length-of">&lt;length-of&gt; element</a></h2><p id="rfc.section.10.9.p.1">This element can be used to insert the length of another formatted section (in decimal).</p><div id="rfc.figure.u.10"></div> <p>Example: computing the Content-Length header value</p>  <pre class="text">&lt;artwork&gt;
...
Content-Length: &lt;x:length-of target="req"/&gt;
  
&lt;x:span anchor="req"&gt;123456789
&lt;x:span&gt;&lt;artwork/&gt;
</pre> <p id="rfc.section.10.9.p.3">The lenght computation counts line ends as two characters (CRLF).</p><p id="rfc.section.10.9.p.4">Note that indentation characters in artwork <em>will</em> be counted. The "indented" attribute allows to specify the amount of indentation to be substracted from the computed length.</p><div id="rfc.iref.e.11"></div><div id="rfc.iref.l.3"></div><h2 id="rfc.section.10.10"><a href="#rfc.section.10.10">10.10</a>&nbsp;<a id="ext.element.link" href="#ext.element.link">&lt;link&gt; element</a></h2><p id="rfc.section.10.10.p.1">This element can be added as a top-level child element below &lt;rfc&gt; to indicate additional link information. It's currently used only when generating HTML output, in which case an HTML <a href="http://www.w3.org/TR/html4/struct/links.html#edef-LINK">&lt;link&gt;</a> element with identical attributes gets generated.</p><div id="rfc.figure.u.11"></div> <p>Example: generating HTML link element</p>  <pre class="text">        &lt;x:link xmlns="http://purl.org/net/xml2rfc/ext"
            rel="Bookmark"
            title="IETF WEBDAV Working Group"
            href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/&gt;</pre> <div id="rfc.iref.e.12"></div><div id="rfc.iref.l.4"></div><h2 id="rfc.section.10.11"><a href="#rfc.section.10.11">10.11</a>&nbsp;<a id="ext.element.lt" href="#ext.element.lt">&lt;lt&gt; element</a></h2><p id="rfc.section.10.11.p.1">Used for grouping multiple &lt;t&gt; elements into a single list item.</p><div id="rfc.iref.e.13"></div><div id="rfc.iref.q.1"></div><h2 id="rfc.section.10.12"><a href="#rfc.section.10.12">10.12</a>&nbsp;<a id="ext.element.q" href="#ext.element.q">&lt;q&gt; element</a></h2><p id="rfc.section.10.12.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-Q">q</a>" element in <a href="#HTML" id="rfc.xref.HTML.4"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.14"></div><div id="rfc.iref.r.21"></div><h2 id="rfc.section.10.13"><a href="#rfc.section.10.13">10.13</a>&nbsp;<a id="ext.element.ref" href="#ext.element.ref">&lt;ref&gt; element</a></h2><p id="rfc.section.10.13.p.1">This element is a simplified variant of the &lt;xref&gt; element, in that no "target" attribute needs to be specified, instead the text contents acts as identifier. That in itself wouldn't be terribly useful, but together with the &lt;<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt;, it allows referring to other parts of the document with minimal additional markup.</p><p id="rfc.section.10.13.p.2">For instance, given an alias definition such as</p><div id="rfc.figure.u.12"></div> <pre class="text">      &lt;section title="Test" anchor="test"&gt;
        &lt;x:anchor-alias value="alias1"/&gt;
        &lt;x:anchor-alias value="alias 2"/&gt;
        ...
      &lt;/section&gt;</pre> <p id="rfc.section.10.13.p.4">the following simple references</p><div id="rfc.figure.u.13"></div> <pre class="text">      &lt;x:ref&gt;test&lt;/x:ref&gt;
      &lt;x:ref&gt;alias1&lt;/x:ref&gt;
      &lt;x:ref&gt;alias 2&lt;/x:ref&gt;</pre> <p id="rfc.section.10.13.p.6">are equivalent to...:</p><div id="rfc.figure.u.14"></div> <pre class="text">      &lt;xref target="test"&gt;test&lt;/xref&gt;
      &lt;xref target="test"&gt;alias1&lt;/xref&gt;
      &lt;xref target="test"&gt;alias 2&lt;/xref&gt;</pre> <div id="rfc.iref.e.15"></div><div id="rfc.iref.s.12"></div><h2 id="rfc.section.10.14"><a href="#rfc.section.10.14">10.14</a>&nbsp;<a id="ext.element.source" href="#ext.element.source">&lt;source&gt; element</a></h2><p id="rfc.section.10.14.p.1">Can be used to enhance a &lt;reference&gt; with information about the location for the XML source. This can be used by the &lt;xref&gt; processing code to automatically extract the target section number.</p><div id="rfc.figure.u.15"></div> <p>For example:</p>  <pre class="text">      ...
      &lt;xref target="RFC2616" x:fmt="of" x:rel="#PUT" /&gt;
      ...
    
      &lt;reference target="RFC2616"/&gt;
        ...
        &lt;x:source href="rfc2616.xml"/&gt;
        ...
    </pre> <h2 id="rfc.section.10.15"><a href="#rfc.section.10.15">10.15</a>&nbsp;<a id="ext-rfc2629.iref" href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></h2><p id="rfc.section.10.15.p.1">The extension attribute below is allowed on the standard &lt;iref&gt; element: </p><ul><li>x:for-anchor specifies that the &lt;iref&gt; will also be automatically inserted whenever the specified anchor is cross-referenced -- this may save entering lots of &lt;iref&gt; instances. As a special case, a value of "" (empty string) refers to the anchor attribute of the closest ancestor.</li></ul><h2 id="rfc.section.10.16"><a href="#rfc.section.10.16">10.16</a>&nbsp;<a id="ext-rfc2629.list" href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></h2><p id="rfc.section.10.16.p.1">The extension attribute below is allowed on the standard &lt;list&gt; element: </p><ul><li>x:indent specifies the amount of indentation for list items in hanging lists. This can be useful when the output format, such as XSL-FO, does not support automatical formatting. The value takes an XSL-FO width, such as "5em". The default is <em>length of longest label in characters</em> times <em>0.8em</em>.</li></ul><p id="rfc.section.10.16.p.2">Also, the &lt;list&gt; element can take &lt;x:<a href="#ext.element.lt" class="smpl">lt</a>&gt; child elements instead of &lt;t&gt;, allowing to insert multiple paragraphs into a single list item.</p><h2 id="rfc.section.10.17"><a href="#rfc.section.10.17">10.17</a>&nbsp;<a id="ext-rfc2629.section" href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></h2><p id="rfc.section.10.17.p.1">The extension attribute below is allowed on the standard &lt;list&gt; element: </p><ul><li>x:fixed-section-number can be used to specify a fixed section number. This can be useful when formatting historic documents that used a different numbering style.</li></ul><h2 id="rfc.section.10.18"><a href="#rfc.section.10.18">10.18</a>&nbsp;<a id="ext-rfc2629.xref" href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></h2><p id="rfc.section.10.18.p.1">Three extension attributes are allowed on the standard &lt;xref&gt; element: </p><ol><li>x:sec can be specified to point to a specific section of the referenced document,</li><li>x:rel may specify a relative reference to use when linking into the referenced document (if linking by section number is not available),</li><li>x:fmt defines the text format to be used.</li></ol><p id="rfc.section.10.18.p.2">The following formats are defined for the x:fmt attribute: </p><dl><dt>, (Comma)</dt><dd>[<em>reference</em>], Section <em>sec</em> </dd><dt>()</dt><dd>[<em>reference</em>] (Section <em>sec</em>)</dd><dt>anchor</dt><dd>Like the default format, but without brackets.</dd><dt>of</dt><dd>Section <em>sec</em> of [<em>reference</em>]</dd><dt>number</dt><dd> <em>sec</em> </dd><dt>none</dt><dd>No output (can be used to have xrefs to references without having them rendered as such)</dd><dt>sec</dt><dd>Section <em>sec</em> </dd></dl><p id="rfc.section.10.18.p.3">These extensions are currently only supported for &lt;xref&gt; elements without child nodes.</p><p id="rfc.section.10.18.p.4">If the processor knows how to reference the target section, it will generate a link directly to the target section, such as in <a href="#RFC2119" id="rfc.xref.RFC2119.2"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>, <a href="http://tools.ietf.org/html/rfc2119#section-5">Section 5</a>.</p><hr class="noprint"><h1 id="rfc.section.11" class="np"><a href="#rfc.section.11">11.</a>&nbsp;<a id="utilities" href="#utilities">Utilities</a></h1><h2 id="rfc.section.11.1"><a href="#rfc.section.11.1">11.1</a>&nbsp;<a id="checking-references" href="#checking-references">Checking References</a></h2><p id="rfc.section.11.1.p.1"> <samp>check-references.xslt</samp> can be used to check all references to RFC- and ID-series IETF publications and to W3C publications (note this script requires local copies of &lt;<a href="ftp://ftp.isi.edu/in-notes/rfc-index.xml">ftp://ftp.isi.edu/in-notes/rfc-index.xml</a>&gt; and &lt;<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>&gt; and will use the XML status information provided at &lt;<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>&gt;).</p><p id="rfc.section.11.1.p.2">If the document is supposed to be published on the IETF standards track, the desired level can be specified using the parameter <samp>intended-level</samp> as 'PROPOSED', 'DRAFT' or 'STANDARD'.</p><div id="rfc.figure.u.16"></div> <p>For instance, as of 2006-08-06, the script produces for &lt;<a href="http://greenbytes.de/tech/webdav/rfc2518.xml">http://greenbytes.de/tech/webdav/rfc2518.xml</a>&gt;:</p>  <pre class="text">&gt; saxon rfc2518.xml check-references.xslt

Normative References:
ISO-11578: not checked
ISO-639: not checked
ISO-8601: not checked
REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
REC-xml-names-19990114: [REC] obsoleted by PER-xml-names-20060614
RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
RFC2119: [BEST CURRENT PRACTICE] (-&gt; BCP0014) ok
RFC2141: [PROPOSED STANDARD] ok
RFC2277: [BEST CURRENT PRACTICE] (-&gt; BCP0018) ok
RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
RFC2279: [DRAFT STANDARD] obsoleted by RFC3629

Informational References:
REC-PICS-labels-961031: [REC] ok
RFC1807: [INFORMATIONAL] ok
RFC2026: [BEST CURRENT PRACTICE] (-&gt; BCP0009) ok
RFC2291: [INFORMATIONAL] ok
RFC2376: [INFORMATIONAL] obsoleted by RFC3023
RFC2413: [INFORMATIONAL] ok
USMARC: not checked
WF: not checked
</pre><p id="rfc.section.11.1.p.4">Recognized formats in the &lt;seriesInfo&gt; element are: </p><ul><li>for RFCs, the name attribute must be "RFC", and the value attribute must be the number of the RFC,</li><li>for Internet Drafs, the name attribute must be "ID" or "Internet-Draft", and the value attribute must be the file name of the draft (including the two-digit running number, but excluding a file extension),</li><li>for W3C documents, the name attribute must be "W3C", must start with "W3C&nbsp;", or must start with "World Wide Web Consortium&nbsp;", and the value attribute must be the "shorthand" name of the specification, such as "REC-xml-19980210".</li></ul><h2 id="rfc.section.11.2"><a href="#rfc.section.11.2">11.2</a>&nbsp;Generating Graphs from References</h2><p id="rfc.section.11.2.p.1"> <samp>gen-reference-graph.xslt</samp> generates a graph of RFC dependencies, using the same base data as in <samp>check-references.xslt</samp> (see <a href="#checking-references" title="Checking References">Section&nbsp;11.1</a>). Its output is a "dot" file, to be processed by GraphViz (see &lt;<a href="http://www.graphviz.org/">http://www.graphviz.org/</a>&gt;).</p><div id="rfc.figure.u.17"></div> <p>The picture below shows the RFC dependencies in RFC2629.</p>  <p><img src="rfc2629xslt-fig2.png" alt="&#xA;(PNG output obtained from GraphViz)&#xA;"></p> <h2 id="rfc.section.11.3"><a href="#rfc.section.11.3">11.3</a>&nbsp;Producing reference entries for books</h2><p id="rfc.section.11.3.p.1"> <samp>amazon-asin.xslt</samp> uses the Amazon web services to generate a &lt;reference&gt; element for a given ASIN (ISBN).</p><div id="rfc.figure.u.18"></div> <p>For instance:</p>  <pre class="text">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;references&gt;
 &lt;reference target="urn:isbn:0134516591"&gt;
   &lt;front&gt;
     &lt;title&gt;Simple Book, The: An Introduction to Internet Management,
               Revised Second Edition&lt;/title&gt;
     &lt;author surname="Rose"
                fullname="Marshall T. Rose" initials="M. T. "&gt;
       &lt;organization/&gt;
     &lt;/author&gt;
     &lt;author surname="Marshall"
                fullname="Rose T. Marshall" initials="R. T."&gt;
       &lt;organization/&gt;
     &lt;/author&gt;
     &lt;date year="1996" month="March"/&gt;
   &lt;/front&gt;
   &lt;seriesInfo name="Prentice Hall" value=""/&gt;
 &lt;/reference&gt;
&lt;/references&gt;
</pre><p id="rfc.section.11.3.p.3">Note that the resulting XML usually requires checking, in this case Amazon's database is playing tricks with Marshall's name...</p><h2 id="rfc.section.11.4"><a href="#rfc.section.11.4">11.4</a>&nbsp;<a id="clean-for-dtd" href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></h2><p id="rfc.section.11.4.p.1"> <samp>clean-for-DTD.xslt</samp> can be used to down-convert some extensions to a format that is supported by the base xml2rfc distribution. Note that these extensions are experimental (feedback appreciated).</p><p id="rfc.section.11.4.p.2">The following mappings are done: </p><ul><li>&lt;iref&gt; elements inside &lt;artwork&gt; elements are moved in front of the enclosing &lt;figure&gt; element.</li><li>&lt;xref&gt; elements inside &lt;artwork&gt; are expanded just like in regular text (that is, the markup is stripped, but the element is replaced by the applicable replacement text).</li><li>&lt;x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.bcp14" class="smpl">bcp14</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.bb" class="smpl">bb</a>&gt;, &lt;x:<a href="#ext.element.bc" class="smpl">bc</a>&gt; and &lt;x:<a href="#ext.element.bt" class="smpl">bt</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.blockquote" class="smpl">blockquote</a>&gt; elements get converted to indented text (through a &lt;list&gt; element).</li><li>&lt;x:<a href="#ext.element.dfn" class="smpl">dfn</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.h" class="smpl">h</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.link" class="smpl">link</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.q" class="smpl">q</a>&gt; elements get stripped, with apostrophes added around the text.</li><li>&lt;x:<a href="#ext.element.ref" class="smpl">ref</a>&gt; elements get replaced by &lt;xref&gt; elements, targetting either the anchor or another anchor with matching &lt;x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt; child element.</li></ul><h2 id="rfc.section.11.5"><a href="#rfc.section.11.5">11.5</a>&nbsp;<a id="extract-artwork" href="#extract-artwork">Extracting artwork</a></h2><p id="rfc.section.11.5.p.1">With <samp>extract-artwork.xslt</samp>, artwork elements named through the "name" attribute can be extracted. This can be used to automatically check their syntax (for instance, when ABNFs appear within a figure element).</p><div id="rfc.figure.u.19"></div><p>For instance:</p>  <pre class="text">saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
</pre> <p id="rfc.section.11.5.p.3">In addition, artwork of a specific type can be extracted, such as with:</p><div id="rfc.figure.u.20"></div> <pre class="text">saxon rfc3986.xml extract-artwork.xslt type=abnf
</pre> <h2 id="rfc.section.11.6"><a href="#rfc.section.11.6">11.6</a>&nbsp;<a id="grddl" href="#grddl">GRRDL</a></h2><p id="rfc.section.11.6.p.1"> <samp>rfc2629grddl.xslt</samp> extracts RDF information. This is experimental work-in-progress. See &lt;<a href="http://www.w3.org/TR/grddl/">http://www.w3.org/TR/grddl/</a>&gt; for more information.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.12" id="rfc.section.12">12.</a> Informative References</h1><table summary="Informative References">                    <tr><td class="reference"><b id="HTML">[HTML]</b></td><td class="top"><a href="mailto:dsr@w3.org" title="W3C">Raggett, D.</a>, Hors, A., and I. Jacobs, &#8220;<a href="http://www.w3.org/TR/html401/">HTML 4.01 Specification</a>&#8221;, W3C&nbsp;REC-html401-19991224, December&nbsp;1999, &lt;<a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>&gt;.</td></tr><tr><td class="reference"><b id="RFC2119">[RFC2119]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>&#8221;, BCP&nbsp;14, RFC&nbsp;2119, March&nbsp;1997.</td></tr><tr><td class="reference"><b id="RFC2616">[RFC2616]</b></td><td class="top"><a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine, Information and Computer Science">Fielding, R.T.</a>, <a href="mailto:jg@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Gettys, J.</a>, <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation, Western Research Laboratory">Mogul, J.C.</a>, <a href="mailto:frystyk@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Nielsen, H.F.</a>, <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.J.</a>, and <a href="mailto:timbl@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">T. Berners-Lee</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>&#8221;, RFC&nbsp;2616, June&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2629">[RFC2629]</b></td><td class="top"><a href="mailto:mrose@not.invisible.net" title="Invisible Worlds, Inc.">Rose, M.T.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2629">Writing I-Ds and RFCs using XML</a>&#8221;, RFC&nbsp;2629, June&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2648">[RFC2648]</b></td><td class="top"><a href="mailto:jayhawk@att.com" title="AT&amp;T">Moats, R.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2648">A URN Namespace for IETF Documents</a>&#8221;, RFC&nbsp;2648, August&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2731">[RFC2731]</b></td><td class="top"><a href="mailto:jak@ckm.ucsf.edu" title="University of California, San Francisco,  Center for Knowledge Management">Kunze, J.A.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2731">Encoding Dublin Core Metadata in HTML</a>&#8221;, RFC&nbsp;2731, December&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC5234">[RFC5234]</b></td><td class="top"><a href="mailto:dcrocker@bbiw.net" title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a href="mailto:paul.overell@thus.net" title="THUS plc.">P. Overell</a>, &#8220;<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>&#8221;, STD&nbsp;68, RFC&nbsp;5234, January&nbsp;2008.</td></tr><tr><td class="reference"><b id="RNC">[RNC]</b></td><td class="top"><a href="mailto:jjc@jclark.com">Clark, J.</a>, &#8220;<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">RELAX NG Compact Syntax</a>&#8221;, OASIS, Nov&nbsp;2002, &lt;<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">http://www.oasis-open.org/committees/relax-ng/compact-20021121.html</a>&gt;.</td></tr><tr><td class="reference"><b id="XHTML2">[XHTML2]</b></td><td class="top">Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B., Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton, &#8220;<a href="http://www.w3.org/TR/xhtml2">XHTML&#8482; 2.0</a>&#8221;, W3C&nbsp;WD-xhtml2-20060726, July&nbsp;2006, &lt;<a href="http://www.w3.org/TR/xhtml2">http://www.w3.org/TR/xhtml2</a>&gt;.</td></tr><tr><td class="reference"><b id="XSL-FO">[XSL-FO]</b></td><td class="top"><a href="mailto:alrb@us.ibm.com" title="IBM">Berglund, A.</a>, &#8220;<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">Extensible Stylesheet Language (XSL) Version 1.1</a>&#8221;, W3C&nbsp;REC-xsl11-20061205, Dec&nbsp;2006, &lt;<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>&gt;.</td></tr></table><hr class="noprint"><h1 id="rfc.authors" class="np"><a href="#rfc.authors">Author's Address</a></h1><address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span><span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span>&nbsp;<span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline">EMail: <a href="mailto:julian.reschke@greenbytes.de"><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address><hr class="noprint"><div id="rfc.iref.g.2"></div><div id="rfc.iref.s.13"></div><div id="rfc.iref.r.22"></div><h1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a>&nbsp;<a id="grammar" href="#grammar">RELAX NG Compact Schema</a></h1><p id="rfc.section.A.p.1">The RelaxNG schema (<a href="#RNC" id="rfc.xref.RNC.1"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a>) below can be used to validate input documents (for instance, with <a href="http://www.thaiopensource.com/relaxng/jing.html">Jing</a>).</p><p id="rfc.section.A.p.2"> <em>Note that this is work in progress, and doesn't yet cover all extensions completely.</em> </p><div id="rfc.figure.u.21"></div> <pre class="inline"><em># WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.</em>

<em># Define our extension namespace</em>
namespace x = "http://purl.org/net/xml2rfc/ext"

<em># Define GRDDL namespace</em>
namespace grddl = "http://www.w3.org/2003/g/data-view#"

<em># Include rfc2629bis RNC grammar</em>
include "rfc2629.rnc" {
  
  <em># Redefine &lt;artwork&gt; to allow markup</em>
  artwork =
    element artwork {
      attlist.artwork,
      (TEXT
        <strong>| eref</strong> 
        <strong>| iref</strong> 
        <strong>| spanx</strong> 
        <strong>| xref</strong>
        <strong>| <a href="#x_bb" class="smpl">x_bb</a></strong>
        <strong>| <a href="#x_bc" class="smpl">x_bc</a></strong>
        <strong>| <a href="#x_bt" class="smpl">x_bt</a></strong>
        <strong>| <a href="#x_length-of" class="smpl">x_length-of</a></strong>
        <strong>| <a href="#x_ref" class="smpl">x_ref</a></strong>
        <strong>| <a href="#x_span" class="smpl">x_span</a></strong>
        <strong>| <a href="#x_x" class="smpl">x_x</a></strong>)* 
    }

  <em># Redefine &lt;c&gt; to allow our extension elements</em>
  c =
    element c {
      attlist.c,
      (TEXT
        | xref
        | eref 
        | iref 
        | cref 
        | spanx 
        <strong>| <a href="#x_ref" class="smpl">x_ref</a></strong>)*
    }

  <em># Redefine &lt;cref&gt; to allow more child elements</em>
  cref =
    element cref {
      attlist.cref,
      (TEXT
        | eref)*
    }

  <em># Redefine &lt;list&gt; element to allow &lt;x:<a href="#ext.element.lt" class="smpl">lt</a>&gt; child elements</em>
  \list =
    element list {
      attlist.list,
      (t+ <strong>| <a href="#x_lt" class="smpl">x_lt</a>+</strong>)
    }    
    
  <em># Redefine &lt;preamble&gt; to allow our extension elements</em>
  preamble =
    element preamble {
      attlist.preamble,
      (TEXT
        | xref
        | eref
        | iref
        | cref
        | spanx
        <strong>| <a href="#x_anchor-alias" class="smpl">x_anchor-alias</a></strong>)*
    }

  <em># Redefine &lt;postamble&gt; to allow our extension elements</em>
  postamble =
    element postamble {
      attlist.postamble,
      (TEXT
        | xref
        | eref
        | iref
        | cref
        | spanx
        <strong>| <a href="#x_bcp14" class="smpl">x_bcp14</a></strong>)*
    }

  <em># Redefine &lt;reference&gt; to allow our extension elements</em>
  reference =
    element reference {
      attlist.reference,
      front,
      seriesInfo*,
      format*,
      annotation*,
      <strong><a href="#x_source" class="smpl">x_source</a>?</strong>
    }

  <em># Redefine &lt;rfc&gt; to allow our extension elements</em>
  rfc =
    element rfc {
      attlist.rfc,
      <strong><a href="#x_link" class="smpl">x_link</a>*,</strong>
      <strong><a href="#x_assign-section-number" class="smpl">x_assign-section-number</a>*,</strong>
      front,
      middle,
      back?
    }

  <em># Redefine &lt;section&gt; to allow our extension elements</em>
  section =
    element section {
      attlist.section,
      (t
       | figure
       | texttable
       | iref
       | section
       <strong>| <a href="#x_anchor-alias" class="smpl">x_anchor-alias</a></strong>
       <strong>| <a href="#x_blockquote" class="smpl">x_blockquote</a></strong>)*
    }

  <em># Redefine &lt;spanx&gt; to allow some markup</em>
  spanx =
    element spanx {
      attlist.spanx,
      (TEXT
        <strong>| iref</strong>
        <strong>| xref</strong>
        <strong>| <a href="#x_ref" class="smpl">x_ref</a></strong>)*
    }

  <em># Redefine &lt;t&gt; to allow our extension elements</em>
  t =
    element t {
      attlist.t,
      (TEXT
       | \list
       | figure
       | xref
       | eref
       | iref
       | cref
       | spanx
       | vspace
       <strong>| <a href="#x_anchor-alias" class="smpl">x_anchor-alias</a></strong>
       <strong>| <a href="#x_bcp14" class="smpl">x_bcp14</a></strong>
       <strong>| <a href="#x_dfn" class="smpl">x_dfn</a></strong>
       <strong>| <a href="#x_h" class="smpl">x_h</a></strong>
       <strong>| <a href="#x_q" class="smpl">x_q</a></strong>
       <strong>| <a href="#x_ref" class="smpl">x_ref</a></strong>)*
    }
}

<em># Extend attribute set for &lt;iref&gt; (see <a href="#ext-rfc2629.iref" title="Extensions to Xml2rfc <iref&gt; element">Section&nbsp;10.15</a>)</em>
attlist.iref &amp;=
  attribute x:for-anchor { ATEXT }?

<em># Extend attribute set for &lt;list&gt; (see <a href="#ext-rfc2629.list" title="Extensions to Xml2rfc <list&gt; element">Section&nbsp;10.16</a>)</em>
attlist.list &amp;=
  attribute x:indent { ATEXT }?

<em># Extend attribute set for &lt;preamble&gt;</em>
attlist.preamble &amp;=
  attribute anchor { xsd:ID }?

<em># Extend attribute set for &lt;rfc&gt;</em>
attlist.rfc &amp;=
  attribute grddl:transformation { ATEXT }?

<em># Extend attribute set for &lt;section&gt; (see <a href="#ext-rfc2629.section" title="Extensions to Xml2rfc <section&gt; element">Section&nbsp;10.17</a>)</em>
attlist.section &amp;=
  attribute x:fixed-section-number { ATEXT }?

<em># Allow anchor attribute on &lt;spanx&gt;</em>
attlist.spanx &amp;=
  attribute anchor { xsd:ID }?

<em># Extend attribute set for &lt;xref&gt; (see <a href="#ext-rfc2629.xref" title="Extensions to Xml2rfc <xref&gt; element">Section&nbsp;10.18</a>)</em>
attlist.xref &amp;=
  attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
                     "none" }?,
  attribute x:rel  { ATEXT }?,
  attribute x:sec  { ATEXT }?

<em id="x_anchor-alias"><span id="rfc.iref.a.28"></span><span id="rfc.iref.e.16"></span># Aliasing of anchors (see <a href="#ext.element.anchor-alias" title="<anchor-alias&gt; element">Section&nbsp;10.1</a>)</em>
<a href="#x_anchor-alias" class="smpl">x_anchor-alias</a> =
  element x:anchor-alias {
    attribute value { TEXT },
    empty
  }

<em id="x_assign-section-number"><span id="rfc.iref.a.29"></span><span id="rfc.iref.e.17"></span># Setting section numbers for internally generated sections
# (experimental)</em>
<a href="#x_assign-section-number" class="smpl">x_assign-section-number</a> =
  element x:assign-section-number {
    attribute builtin-target { "authors" },
    attribute number { TEXT },
    empty
  }

<em id="x_bb"><span id="rfc.iref.b.7"></span><span id="rfc.iref.e.18"></span># Bottom line of box drawing (see <a href="#ext.element.bb" title="<bb&gt; element">Section&nbsp;10.3</a>)</em>
<a href="#x_bb" class="smpl">x_bb</a> =
  element x:bb {
    (TEXT
      | iref
      | xref
      | <a href="#x_bb" class="smpl">x_bb</a>
      | <a href="#x_bc" class="smpl">x_bc</a>
      | <a href="#x_bt" class="smpl">x_bt</a>
      | <a href="#x_ref" class="smpl">x_ref</a>)* 
  }

<em id="x_bc"><span id="rfc.iref.b.8"></span><span id="rfc.iref.e.19"></span># Center line of box drawing (see <a href="#ext.element.bc" title="<bc&gt; element">Section&nbsp;10.4</a>)</em>
<a href="#x_bc" class="smpl">x_bc</a> =
  element x:bc {
    (TEXT
      | iref
      | xref
      | <a href="#x_bb" class="smpl">x_bb</a>
      | <a href="#x_bc" class="smpl">x_bc</a>
      | <a href="#x_bt" class="smpl">x_bt</a>
      | <a href="#x_ref" class="smpl">x_ref</a>)* 
  }

<em id="x_bcp14"><span id="rfc.iref.b.9"></span><span id="rfc.iref.e.20"></span># BCP14/RFC2119 keywords (see <a href="#ext.element.bcp14" title="<bcp14&gt; element">Section&nbsp;10.2</a>)</em>
<a href="#x_bcp14" class="smpl">x_bcp14</a> =
  element x:bcp14 {
    "MAY"
    | "MUST"
    | "MUST NOT"
    | "NOT RECOMMENDED"
    | "OPTIONAL"
    | "RECOMMENDED"
    | "REQUIRED"
    | "SHALL"
    | "SHALL NOT"
    | "SHOULD"
    | "SHOULD NOT"
  }
  
<em id="x_blockquote"><span id="rfc.iref.b.10"></span><span id="rfc.iref.e.21"></span># Blockquote (see <a href="#ext.element.blockquote" title="<blockquote&gt; element">Section&nbsp;10.5</a>)</em>
<a href="#x_blockquote" class="smpl">x_blockquote</a> =
  element x:blockquote {
    attribute cite { URI }?,
    t+
  }

<em id="x_bt"><span id="rfc.iref.b.11"></span><span id="rfc.iref.e.22"></span># Top line of box drawing (see <a href="#ext.element.bt" title="<bt&gt; element">Section&nbsp;10.6</a>)</em>
<a href="#x_bt" class="smpl">x_bt</a> =
  element x:bt {
    (TEXT
      | iref
      | xref
      | <a href="#x_bb" class="smpl">x_bb</a>
      | <a href="#x_bc" class="smpl">x_bc</a>
      | <a href="#x_bt" class="smpl">x_bt</a>
      | <a href="#x_ref" class="smpl">x_ref</a>)* 
  }

<em id="x_dfn"><span id="rfc.iref.d.9"></span><span id="rfc.iref.e.23"></span># Definition (see <a href="#ext.element.dfn" title="<dfn&gt; element">Section&nbsp;10.7</a>)</em>
<a href="#x_dfn" class="smpl">x_dfn</a> =
  element x:dfn {
    (TEXT
      | iref)*
  }
  
<em id="x_h"><span id="rfc.iref.h.13"></span><span id="rfc.iref.e.24"></span># Heading (see <a href="#ext.element.h" title="<h&gt; element">Section&nbsp;10.8</a>)</em>
<a href="#x_h" class="smpl">x_h</a> =
  element x:h {
    TEXT
  }

<em id="x_length-of"><span id="rfc.iref.l.5"></span><span id="rfc.iref.e.25"></span># Length Measurement (see <a href="#ext.element.length-of" title="<length-of&gt; element">Section&nbsp;10.9</a>)</em>
<a href="#x_length-of" class="smpl">x_length-of</a> =
  element x:length-of {
    attribute indented { NUMBER }?,
    attribute target { xsd:IDREF },
    empty
  }

<em id="x_link"><span id="rfc.iref.l.6"></span><span id="rfc.iref.e.26"></span># Link (see <a href="#ext.element.link" title="<link&gt; element">Section&nbsp;10.10</a>)</em>
<a href="#x_link" class="smpl">x_link</a> =
  element x:link {
    attribute href { URI },
    attribute title { TEXT }?,
    attribute rel { TEXT },
    empty
  }
  
<em id="x_lt"><span id="rfc.iref.l.7"></span><span id="rfc.iref.e.27"></span># Extended list item (see <a href="#ext.element.lt" title="<lt&gt; element">Section&nbsp;10.11</a>)</em>
<a href="#x_lt" class="smpl">x_lt</a> =
  element x:lt {
    attribute anchor { xsd:ID }?,
    attribute hangText { TEXT }?,
    t+
  }

<em id="x_q"><span id="rfc.iref.q.2"></span><span id="rfc.iref.e.28"></span># Inline quote (see <a href="#ext.element.q" title="<q&gt; element">Section&nbsp;10.12</a>)</em>
<a href="#x_q" class="smpl">x_q</a> =
  element x:q {
    TEXT
  }

<em id="x_ref"><span id="rfc.iref.r.23"></span><span id="rfc.iref.e.29"></span># Anchor reference (see <a href="#ext.element.ref" title="<ref&gt; element">Section&nbsp;10.13</a>)</em>  
<a href="#x_ref" class="smpl">x_ref</a> =
  element x:ref {
    TEXT
  }

<em id="x_source"><span id="rfc.iref.s.14"></span><span id="rfc.iref.e.30"></span># source information (see <a href="#ext.element.source" title="<source&gt; element">Section&nbsp;10.14</a>)</em>  
<a href="#x_source" class="smpl">x_source</a> =
  element x:source {
    attribute basename { ATEXT }?,
    attribute href { URI },
    empty
  }

<em id="x_span"><span id="rfc.iref.s.15"></span><span id="rfc.iref.e.31"></span># Inline Span </em>
<a href="#x_span" class="smpl">x_span</a> =
  element x:span {
    attribute anchor { xsd:ID }?,
    TEXT
  }

<em id="x_x"><span id="rfc.iref.x.27"></span><span id="rfc.iref.e.32"></span># Nop (for alignment in source)</em>
<a href="#x_x" class="smpl">x_x</a> =
  element x:x {
    empty
  }
</pre><hr class="noprint"><h1 id="rfc.section.B" class="np"><a href="#rfc.section.B">B.</a>&nbsp;Implementation Notes</h1><h2 id="rfc.section.B.1"><a href="#rfc.section.B.1">B.1</a>&nbsp;Recognized type attributes for &lt;artwork&gt; element</h2><p id="rfc.section.B.1.p.1">Specific values in the &lt;artwork&gt; element's "type" attribute are recognized and cause a different visual style to be used:</p><div id="rfc.table.u.9"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>Media Type</th><th>Comment</th></tr></thead><tbody><tr><td>abnf</td><td>ABNF as per <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a></td></tr><tr><td>abnf2616</td><td>ABNF as per <a href="#RFC2616" id="rfc.xref.RFC2616.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-2.1">Section 2.1</a></td></tr><tr><td>application/relax-ng-compact-syntax</td><td>Relax NG Compact Syntax as per <a href="#RNC" id="rfc.xref.RNC.2"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a></td></tr><tr><td>application/xml-dtd</td><td>XML DTD</td></tr><tr><td>message/http; msgtype="request"</td><td>HTTP message, as per <a href="#RFC2616" id="rfc.xref.RFC2616.2"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-19.1">Section 19.1</a></td></tr><tr><td>message/http; msgtype="response"</td><td>HTTP message, as per <a href="#RFC2616" id="rfc.xref.RFC2616.3"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-19.1">Section 19.1</a></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.C" class="np"><a href="#rfc.section.C">C.</a>&nbsp;<a id="license" href="#license">License</a></h1><p id="rfc.section.C.p.1">Copyright (c) 2006-2008, Julian Reschke (julian.reschke@greenbytes.de)</p><p id="rfc.section.C.p.2">All rights reserved.</p><p id="rfc.section.C.p.3">Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: </p><ul><li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li><li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li><li>Neither the name of Julian Reschke nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</li></ul><p id="rfc.section.C.p.4">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p><hr class="noprint"><h1 id="rfc.section.D" class="np"><a href="#rfc.section.D">D.</a>&nbsp;Change Logs</h1><h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a>&nbsp;Package</h2><dl><dt>2006-01-01</dt><dd>Switch to BSD License.</dd><dt>2007-01-12</dt><dd>Update to xml2rfc v1.33pre2.</dd><dt>2007-03-31</dt><dd>Update to xml2rfc v1.33pre3.</dd><dt>2007-05-01</dt><dd>Add XSLT test cases.</dd></dl><h2 id="rfc.section.D.2"><a href="#rfc.section.D.2">D.2</a>&nbsp;amazon-asin.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2005-04-02</dt><dd>Fix two DTD issues.</dd></dl><h2 id="rfc.section.D.3"><a href="#rfc.section.D.3">D.3</a>&nbsp;check-references.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2004-05-11</dt><dd>Add document status; print references type.</dd><dt>2005-01-01</dt><dd>Add experimental check for ID status.</dd><dt>2005-04-01</dt><dd>Add fixes from Bill Fenner.</dd><dt>2005-12-03</dt><dd>Add checks against local copy of &lt;<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>&gt;.</dd><dt>2006-07-22</dt><dd>Add checks for standards levels.</dd><dt>2006-08-06</dt><dd>"check-ietf-references.xslt" replaced by "check-references.xslt".</dd><dt>2007-01-04</dt><dd>Use information online at &lt;<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>&gt; to retrieve Internet-Draft status information.</dd><dt>2007-06-16</dt><dd>Fix bug looking up ref type when inside change markup.</dd></dl><h2 id="rfc.section.D.4"><a href="#rfc.section.D.4">D.4</a>&nbsp;gen-reference-graph.xslt</h2><dl><dt>2006-09-03</dt><dd>New.</dd><dt>2007-06-07</dt><dd>Use <a href="http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html">Carlisle method</a> to define exslt:node-set in msxsml (which means that the stylesheet can now be used with MSXML as well).</dd><dt>2007-10-15</dt><dd>Use W3C data from tr.rdf as well (experimental).</dd></dl><h2 id="rfc.section.D.5"><a href="#rfc.section.D.5">D.5</a>&nbsp;rfc2629.xslt</h2><dl><dt>2001-03-28</dt><dd>Code rearranged, generate numbered section anchors for paragraphs (t) as well. Fixes in index handling.</dd><dt>2001-04-12</dt><dd>Moved HTML output into XHTML namespace.</dd><dt>2001-10-02</dt><dd>Fixed default location for RFCs and numbering of section references. Support ?rfc editing processing instruction.</dd><dt>2001-10-07</dt><dd>Made telephone number links active.</dd><dt>2001-10-08</dt><dd>Support for vspace element.</dd><dt>2001-10-09</dt><dd>Experimental support for rfc-issue PI.</dd><dt>2001-11-11</dt><dd>Support rfc private PI. Removed bogus code reporting the WG in the header.</dd><dt>2001-11-11</dt><dd>Support rfc private PI. Removed bogus code reporting the WG in the header.</dd><dt>2001-12-17</dt><dd>Support title attribute on references element</dd><dt>2002-01-05</dt><dd>Support for list/@style="@format"</dd><dt>2002-01-09</dt><dd>Display "closed" RFC issues as deleted</dd><dt>2002-01-14</dt><dd>Experimentally and optionally parse XML encountered in artwork elements (requires MSXSL).</dd><dt>2002-01-27</dt><dd>Some cleanup. Moved RFC issues from PIs into namespaced elements.</dd><dt>2002-01-29</dt><dd>Added support for sortrefs PI. Added support for figure names.</dd><dt>2002-02-07</dt><dd>Highlight parts of artwork which are too wide (72 characters).</dd><dt>2002-02-12</dt><dd>Code rearrangement for static texts. Fixes for section numbering. TOC generation rewritten.</dd><dt>2002-02-15</dt><dd>Support for irefs in sections; support iref @primary=true</dd><dt>2002-03-03</dt><dd>Moved anchor prefix into a constant. Added sanity checks on user anchor names.</dd><dt>2002-03-23</dt><dd>Bugfix in detection of matching org names when creating the header. Fixed sorting in subitems.</dd><dt>2002-04-02</dt><dd>Fix TOC link HTML generation when no TOC is generated (created broken HTML table code).</dd><dt>2002-04-03</dt><dd>Made rendering of references more tolerant re: missing parts.</dd><dt>2002-04-08</dt><dd>Fixed reference numbering when references are split into separate sections.</dd><dt>2002-04-16</dt><dd>Fix default namespace (shouldn't be set for HTML output method).</dd><dt>2002-04-19</dt><dd>Lowercase internal CSS selectors for Mozilla compliance. Do not put TOC into ul element.</dd><dt>2002-04-21</dt><dd>Make numbered list inside numbered lists use alphanumeric numbering.</dd><dt>2002-05-05</dt><dd>Updated issue/editing support.</dd><dt>2002-05-15</dt><dd>Bugfix for section numbering after introduction of ed:replace</dd><dt>2002-06-21</dt><dd>When producing private documents, do not include document status, copyright etc.</dd><dt>2002-07-08</dt><dd>Fix xrefs to Appendices.</dd><dt>2002-07-19</dt><dd>Make artwork lightyellow for easier reading. (fielding)</dd><dt>2002-10-09</dt><dd>Translate references title to anchor name to avoid non-uri characters. (fielding)</dd><dt>2002-10-13</dt><dd>Support for tocdepth PI.</dd><dt>2002-11-03</dt><dd>Added temporariry workaround for Mozilla/Transformiix result tree fragment problem. (search for 'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')</dd><dt>2002-12-25</dt><dd>xref code: attempt to uppercase "section" and "appendix" when at the start of a sentence.</dd><dt>2003-02-02</dt><dd>fixed code for vspace blankLines="0", enhanced display for list with "format" style, got rid of HTML blockquote elements, added support for "hangIndent"</dd><dt>2003-04-10</dt><dd>experimental support for appendix and spanx elements</dd><dt>2003-04-19</dt><dd>fixed counting of list numbers in "format %" styles (one counter per unique format string). Added more spanx styles.</dd><dt>2003-05-02</dt><dd>experimental texttable support</dd><dt>2003-05-02</dt><dd>Make mailto links optional (default = none) (jre: default and PI name changed) (fielding)</dd><dt>2003-05-04</dt><dd>experimental support for HTML link elements; fix default for table header alignment default</dd><dt>2003-05-06</dt><dd>support for "background" PI.</dd><dt>2003-05-11</dt><dd>change %c format to lowercase alphabetic. add support for keyword elements (generate META tag). fix various HTML conformance problems. added experimental support for role attribute. do not number paragraphs in unnumbered sections. update boilerplate texts. support for "iprnotified" PI. bugfix list numbering. strip whitespace when building tel: URIs.</dd><dt>2003-05-12</dt><dd>more conformance fixes (layout moved into CSS, move lists and figures out of para content, do not use tables for list formatting)</dd><dt>2003-05-13</dt><dd>add DC.Creator meta tag, refactoring</dd><dt>2003-05-16</dt><dd>put nbsps between "section" and section number (xref).</dd><dt>2003-05-18</dt><dd>author summary: add missing comma.</dd><dt>2003-06-06</dt><dd>fix index generation bug (transposed characters in key generation). Enhance sentence start detection (xref starting a section was using lowercase "section").</dd><dt>2003-06-22</dt><dd>exp. support for xref/@format. Add missing support for eref w/o content. exp. support for annotations in reference elements. Code cleanup reference table formatting.</dd><dt>2003-07-09</dt><dd>Another fix for DC.Creator meta tag creation based on RFC2731</dd><dt>2003-07-24</dt><dd>Fix namespace name for DC.Creator.</dd><dt>2003-08-06</dt><dd>Cleanup node-set support (only use exslt (saxon, xalan, libxslt) extension functions; remove Transformix workarounds that stopped to work in Moz 1.4)</dd><dt>2003-08-09</dt><dd>Generate HTML lang tag.</dd><dt>2003-08-10</dt><dd>Map spanx/verb to HTML "samp" element. Fix author name display in references (reverse surname/initials for last author), add "Ed.". Fix internal bookmark generation.</dd><dt>2003-08-17</dt><dd>Add DCMI dates, identifiers and abstract. Add PI to suppress DCMI generation. Do not add TOC entry to Copyright Statement when there is none. Align RFC2629 PI names and parameter names. Change style for inline URIs generated by eref. Add header and footer support. Enhance CSS paging properties. Support topblock PI. Added hooks for proper XHTML generation through separate XSLT. Enhance warning and error messages. Add support for artwork image display. Table formatting fixes (borders, thead continuation).</dd><dt>2003-08-18</dt><dd>Add workaround for MSXML4 node-set and Mozilla node-set issues (fallback just displays are warning).</dd><dt>2003-10-06</dt><dd>Add workaround for broken pre/ins handling in Mozilla (see &lt;<a href="http://bugzilla.mozilla.org/show_bug.cgi?id=204401">http://bugzilla.mozilla.org/show_bug.cgi?id=204401</a>&gt;). Make use of cite attribute on ed:replace. CSS cleanup.</dd><dt>2003-10-08</dt><dd>Fix minor issue detecting the same org for the header (caused by IE's non-standard whitespace handling). Fix default handling for /rfc/@category.</dd><dt>2003-11-09</dt><dd>Inherit ed:entered-by from ancestor elements. Change CSS color for inserted text to green. Generate issues-list anchor. Do not complain about missing targets when the xref element is below ed:del. Remove code that attempted to distinguish section/Section when producing links - always use uppercase. Fix date rendering for issue resolutions.</dd><dt>2003-11-29</dt><dd>Fix color values for table backgrounds for issue rendering. Change rendering of issue links to use inline-styles. Add colored issue markers to issues.</dd><dt>2003-12-13</dt><dd>Fix inheritance of ed:entered-by attribute. Display note elements inside change tracking as well.</dd><dt>2004-01-18</dt><dd>When PI compact = 'yes', make most CSS print page breaks conditional.</dd><dt>2004-02-20</dt><dd>Support for RFC3667 IPR changes (xml2rfc 1.22); see &lt;<a href="http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html">http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html</a>&gt;.</dd><dt>2004-03-11</dt><dd>Add "(if approved)" to "updates" and "obsoletes" unless the document has an RFC number.</dd><dt>2004-04-01</dt><dd>Fix RFC3667 output, see &lt;<a href="http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html">http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html</a>&gt;.</dd><dt>2004-04-04</dt><dd>Add support for section/top attribute. Move references into plain section container.</dd><dt>2004-04-06</dt><dd>Do not emit identical para anchors for deleted content.</dd><dt>2004-04-14</dt><dd>Fix references TOC generation when there are no references.</dd><dt>2004-04-24</dt><dd>Fix RFC3667 output, see &lt;<a href="http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html">http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html</a>&gt;.</dd><dt>2004-05-09</dt><dd>Add custom support for generating compound index documents. Add anchors for each Index letter. Add experimental cref support. Fix conditional page breaks before References section.</dd><dt>2004-05-16</dt><dd>Refactor external index generation.</dd><dt>2004-05-20</dt><dd>Rewrite anchor generation for comments.</dd><dt>2004-05-22</dt><dd>Enhance issues rendering (add links to changes).</dd><dt>2004-05-30</dt><dd>Allow single quote as delimiter in processing instructions as well. Move block-level issue pointers to floats. Disable issue pointers for print media. Add "purple numbers". Add hrefs to section headings. Add non-printing index key letter list to start of index.</dd><dt>2004-06-01</dt><dd>Use &amp;#xb6; instead of # for PNs.</dd><dt>2004-07-18</dt><dd>Add support for list style=letters (thanks Roy F.). Make PNs optional; add new PI.</dd><dt>2004-09-05</dt><dd>Fix index links into unnumbered sections. Bring IPR boilerplate in-line with xml2rfc 1.25. Add experimental CSS3 paged media support. Various HTML fixes.</dd><dt>2004-09-21</dt><dd>Enhance checking of artwork width.</dd><dt>2004-09-26</dt><dd>Add check for unused references. Uppercase letters in list style letters when nested into another list.</dd><dt>2004-10-10</dt><dd>Fix internal change track pointers.</dd><dt>2004-11-01</dt><dd>Allow change tracking on references (as a whole). Rewrite artwork handling so that it allows change tracking inside artwork. Also allow a subset of text markup inside artwork, such as xrefs (note this requires post-processing the source to make it compliant to RFC2629bis).</dd><dt>2004-11-03</dt><dd>Enhanced placement of iref anchors.</dd><dt>2004-11-06</dt><dd>Index: display irefs that appeared (with primary=true) inside artwork elements in a monospaced font.</dd><dt>2004-11-14</dt><dd>Add special code so that changes in section titles can be change-tracked.</dd><dt>2005-01-14</dt><dd>Bugfixes for HtmlToXhtml converter.</dd><dt>2005-01-22</dt><dd>Enhance generation of HTML h* elements (for Mozilla Outliner).</dd><dt>2005-01-31</dt><dd>Put vertical space around top-level TOC entries in TOC. Switch to pt-based CSS. Re-arrange top section. Make hr elements reflect new-page settings in TXT output (compact-PI). Fix page number in footer (CSS print) and add some more experimental support for paged media (tested with Prince 4.1 alpha). Rewrite TOC and Index generation to generate HTML lists. Cleanup id generation for paragraphs. Reduce whitespace in output. Fix vspace implementation. Use right/left dqoutes and copyright sign where appropriate.</dd><dt>2005-02-04</dt><dd>Add &lt;link&gt; element to references section. Fix newly introduced bug in references processing.</dd><dt>2005-02-05</dt><dd>Integrate various fixes/enhancements by Roy Fielding: spelling of "Authors' Addresses", comma setting in references, position of "Authors" section, optionally place authors addresses at end (PI), trailing dots in section numbers, switch to verdana default font in CSS. Add experimental support for centered artwork.</dd><dt>2005-02-09</dt><dd>Fixes in spacing and links of references section titles. Enhance sorting in references when change tracking is in place. Re-add figure centering support. Add missing 2nd part of "Author's Adresses" fix.</dd><dt>2005-02-25</dt><dd>Align section number format with xml2rfc1.29.</dd><dt>2005-03-28</dt><dd>Get rid of table elements in Author's section. Add experimental hCard (&lt;<a href="http://developers.technorati.com/wiki/hCard">http://developers.technorati.com/wiki/hCard</a>&gt;) support.</dd><dt>2005-04-03</dt><dd>Add RFC3978-style IPR statement support. (fenner@research.att.com)</dd><dt>2005-04-11</dt><dd>Cleanup author display. hCard related fixes.</dd><dt>2005-05-07</dt><dd>Minor fixes to allow change tracking in doc title. Add experimental support for table border styles. CSS cleanup.</dd><dt>2005-06-18</dt><dd>Implement missing support for references to texttables.</dd><dt>2005-09-25</dt><dd>Use (-moz-)column-count when printing the index.</dd><dt>2005-10-04</dt><dd>Report missing element templates with xsl:message.</dd><dt>2005-10-15</dt><dd>Process t/@anchor.</dd><dt>2005-10-23</dt><dd>More workarounds for Mozilla's broken del/ins handling (this time for figures).</dd><dt>2005-10-27</dt><dd>lowercase hCard class names</dd><dt>2005-11-22</dt><dd>Enhance diagnostics for XML-in-artwork extension</dd><dt>2005-11-26</dt><dd>Fix formatting of section numbers for sections inserted into &lt;back&gt;.</dd><dt>2005-12-12</dt><dd>Fix some validity problems when change tracking occured inside lists.</dd><dt>2005-12-18</dt><dd>Add change tracking inside the index.</dd><dt>2006-02-04</dt><dd>Add prev/next links to highlighted changes (change tracking extension).</dd><dt>2006-02-10</dt><dd>Catch errors instantiating MSXML component.</dd><dt>2006-02-11</dt><dd>References: add "work in progress" for Internet Drafts.</dd><dt>2006-02-27</dt><dd>Fix front matter (lowercase Internet-Draft, say "Intended status" for non-RFC documents). Start work on experimental extension for simplified internal links.</dd><dt>2006-03-19</dt><dd>Tweaks to IESG Copyright stuff; support submissionType attribute. Fix duplicate reference anchors in HTML output. Reduce HTML Tidy warnings. Fix reference to normative ASCII version (now requires trailing ".txt"). Tweaks to hCard generation. Started to move non-issue-tracking extensions into namespace "http://purl.org/net/xml2rfc/ext".</dd><dt>2006-03-27</dt><dd>Moved "simple reference" extension into namespace "http://purl.org/net/xml2rfc/ext" and add documentation. HTML conformance enhancements.</dd><dt>2006-04-02</dt><dd>Cleanup special code for automated XHTML XSLT generation.</dd><dt>2006-04-21</dt><dd>Generate &lt;CITE&gt; elements where appropiate. Introduce x:blockquote, x:dfn, x:h and x:q elements.</dd><dt>2006-05-06</dt><dd>Introduce x:bcp14 element.</dd><dt>2006-05-14</dt><dd>Fix content model for x:blockquote.</dd><dt>2006-06-18</dt><dd>Add box drawing support (x:bt, x:bc, x:bb).</dd><dt>2006-06-20</dt><dd>HTML validity fixes (legal chars in anchors in index).</dd><dt>2006-06-24</dt><dd>Reduce leading empty lines in artwork. Move &lt;dt&gt; style info into CSS.</dd><dt>2006-07-14</dt><dd>Fix rendering of multiple street address entries (missing line break).</dd><dt>2006-07-24</dt><dd>Add extension for deep linking into RFCs, do not generate empty list items in TOC output, avoid empty &lt;dt&gt; elements for list items without hangText attribute.</dd><dt>2006-08-01</dt><dd>Allow @anchor on more elements; start work on Relax NG grammar for extensions. Reduce generated style elements (use CSS classes instead). Consistently use "id" instead of "name". Change default target for RFC links to "http://tools.ietf.org/html/rfcNNNN".</dd><dt>2006-08-06</dt><dd>Include appendices defined in &lt;appendix&gt; elements in TOC (please consider them deprecated anyhow!). Generate links to "http://tools.ietf.org/html/draft-*" for Internet Drafts. Replace x:frag by x:rel, allowing any kind of relative reference instead of just fragments.</dd><dt>2006-08-30</dt><dd>Reduce textual differences between HTML output and what xml2rfc produces in TXT output mode (section refs/reference targets). Add small workaround for Opera 9.0.1's problem with node-set().</dd><dt>2006-10-29</dt><dd>Fix problem generating internal links to change markup within references section. Enhancements when generating numbered references for deleted references. Allow inclusion of references into the index (through include-references-in-index extension). Fix a bug that caused the newer version of the IETF boilerplate to be produced rather than the pre-RFC3667 one. Update to RFC4287 boilerplate.</dd><dt>2006-11-11</dt><dd>Add extension attribute x:for-anchor to &lt;iref&gt; handling.</dd><dt>2006-11-26</dt><dd>Experimental (and limited) support for &lt;x:lt&gt;.</dd><dt>2006-12-04</dt><dd>Fix bugs in processing documents that have both the ipr and the number attribute set on the rfc root element. Add support for x:fmt='none' on xrefs. Add different pre style based on artwork type attributes (experimental).</dd><dt>2006-12-13</dt><dd>Add x:fmt='anchor' for xref elements.</dd><dt>2007-01-07</dt><dd>Fix root template for compatibility for the exslt:node-set implementation in Firefox3.</dd><dt>2007-01-29</dt><dd>Avoid empty table entry in front matter when organization is not specified for an author.</dd><dt>2007-02-10</dt><dd>Allow change tracking in table rows.</dd><dt>2007-03-09</dt><dd>Add hcard profile URI (&lt;<a href="http://www.w3.org/2006/03/hcard">http://www.w3.org/2006/03/hcard</a>&gt;) to head element. Add warning for misplaced &lt;t&gt; elements (after section).</dd><dt>2007-03-21</dt><dd>Fix internal linking from reference entries in index for some xref types. Minor CSS tweaks contributed by MTR. Allow turning on text justification through a PI. Improve iref anchor generation to generate less instable anchors.</dd><dt>2007-03-28</dt><dd>Fixes for numbering of ed:inserted references sections.</dd><dt>2007-05-04</dt><dd>Do not generate anchors for edits in deleted sections. Enhance HTML conformance.</dd><dt>2007-05-19</dt><dd>Enhance diagnostics when using Saxon (needs Saxon's "-l" command line parameter to keep line number information). Add warning when symref PI is missing (default will change in the future). Add support for overriding computed section numbers (when formatting historic documents).</dd><dt>2007-06-07</dt><dd>Change default for symrefs PI to "yes" (see change in xml2rfc 1.33pre4). Warn about docName attributes that appear to contain a file extension.</dd><dt>2007-06-26</dt><dd>Workaround author/@initials values without trailing dot, as in xml2rfc.tcl.</dd><dt>2007-07-14</dt><dd>Enhance index generation for references that use @x:sec attribute.</dd><dt>2007-09-09</dt><dd>Fix: sortrefs is a nop when symrefs=no.</dd><dt>2007-10-17</dt><dd>Work in progress: add support for referencing sections in sibling documents by anchor name.</dd><dt>2007-10-17</dt><dd>Work in progress (continued): support for referencing sections in sibling documents by anchor name.</dd><dt>2007-12-31</dt><dd>Emit warning when updating/obsoleting stuff that's not referenced.</dd><dt>2008-02-03</dt><dd>Support xml2rfc-1.33pre5's suppress-title attribute on texttable and figure.</dd><dt>2008-02-06</dt><dd>Extension: allow &lt;eref&gt; below &lt;cref&gt;.</dd><dt>2008-02-17</dt><dd>Extensions: add x:span and x:length-of.</dd><dt>2008-02-20</dt><dd>Add new RFC boilerplate (as changed in 2007-08).</dd><dt>2008-02-27</dt><dd>Improve diagnostics for artwork width problems; add defaulting of publication dates (requires XSLT processor supporting exslt:date, or msxml).</dd><dt>2008-02-29</dt><dd>Enhance CSS for link elements in the front header, update rules for generating "Acknowledgment" statement.</dd><dt>2008-03-01</dt><dd>Use line numbers in diagnostics in Saxon8/9 as well.</dd><dt>2008-03-02</dt><dd>Fix a bug in the logic choosing the boilerplate, resulting in obsolete text being inserted into IDs.</dd></dl><h2 id="rfc.section.D.6"><a href="#rfc.section.D.6">D.6</a>&nbsp;rfc2629toFO.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2003-11-29</dt><dd>Enhance handling of unknown list styles.</dd><dt>2004-04-04</dt><dd>Update reference section handling.</dd><dt>2004-04-17</dt><dd>Use XSL-WD-1.1-style fo:bookmark and index handling and add postprocessors for existing implementations. Unify PDF info generation by using XEP (postprocessors) will convert.</dd><dt>2004-04-20</dt><dd>Add experimental cref support.</dd><dt>2004-06-14</dt><dd>Set correct index-item defaults.</dd><dt>2004-07-18</dt><dd>Add list style=letters.</dd><dt>2004-09-03</dt><dd>Make URLs in text break where they are allowed to break by inserting zero-width spaces.</dd><dt>2004-09-26</dt><dd>Fix letter-style inside nested lists.</dd><dt>2004-10-31</dt><dd>Update handling of artwork.</dd><dt>2004-11-13</dt><dd>Fix handling of references inside ed:* markup. Fix whitespace handling in artwork.</dd><dt>2004-11-27</dt><dd>Irefs in artwork generate monospaced entries in index.</dd><dt>2005-01-31</dt><dd>Fix TOC generation that was broken after changes in main XSLT.</dd><dt>2005-02-05</dt><dd>Bring in sync with cosmetic changes in rfc2629.xslt.</dd><dt>2005-05-07</dt><dd>Minor fix for change tracking in document title. Support for table styles.</dd><dt>2005-06-18</dt><dd>Fix references to tables.</dd><dt>2005-10-15</dt><dd>Process t/@anchor.</dd><dt>2006-02-11</dt><dd>References: add "work in progress" for Internet Drafts.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd><dt>2007-03-21</dt><dd>Support optional text justification.</dd><dt>2007-05-19</dt><dd>Various improvements in spacing; also allow overriding the automatic list indentation via list/x:indent.</dd></dl><h2 id="rfc.section.D.7"><a href="#rfc.section.D.7">D.7</a>&nbsp;xsl11toAn.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><h2 id="rfc.section.D.8"><a href="#rfc.section.D.8">D.8</a>&nbsp;xsl11toFop.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><h2 id="rfc.section.D.9"><a href="#rfc.section.D.9">D.9</a>&nbsp;xsl11toXep.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2004-09-04</dt><dd>Fix xep:index-item attributes.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><hr class="noprint"><h1 id="rfc.index" class="np"><a href="#rfc.index">Index</a></h1><p class="noprint"><a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.J">J</a> <a href="#rfc.index.K">K</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.N">N</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.Q">Q</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.X">X</a> </p><div class="print2col"><ul class="ind"><li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind"><li class="indline1">allow-markup-in-artwork PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.1">3.3</a></li><li class="indline1">alternate HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.22">6.2</a></li><li class="indline1">anchor-alias Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.27"><b>10.1</b></a>, <a class="iref" href="#rfc.iref.a.28">A</a></li><li class="indline1">Anchors&nbsp;&nbsp;<ul class="ind"><li class="indline1">rfc.abstract&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.3">4</a></li><li class="indline1">rfc.authors&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.4">4</a></li><li class="indline1">rfc.copyright&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.5">4</a></li><li class="indline1">rfc.copyrightnotice&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.6">4</a></li><li class="indline1">rfc.figure.n&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.7">4</a>, <a class="iref" href="#rfc.iref.a.18">4</a></li><li class="indline1">rfc.figure.u.n&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.8">4</a>, <a class="iref" href="#rfc.iref.a.19">4</a></li><li class="indline1">rfc.index&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.9">4</a></li><li class="indline1">rfc.ipr&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.10">4</a></li><li class="indline1">rfc.iref.n&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.11">4</a></li><li class="indline1">rfc.note.n&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.12">4</a></li><li class="indline1">rfc.references&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.13">4</a>, <a class="iref" href="#rfc.iref.a.14">4</a></li><li class="indline1">rfc.section.n&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.15">4</a></li><li class="indline1">rfc.section.n.p.m&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.16">4</a></li><li class="indline1">rfc.status&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.17">4</a></li><li class="indline1">rfc.toc&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.20">4</a></li><li class="indline1">rfc.xref.name.n&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.21">4</a></li></ul></li><li class="indline1">AntennaHouse XSL Formatter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.26">9.1</a></li><li class="indline1">Apache FOP&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.25">9.1</a></li><li class="indline1">appendix HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.23">6.2</a></li><li class="indline1">assign-section-number Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.29">A</a></li><li class="indline1">author HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.24">6.2</a></li><li class="indline1">authors-section PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.a.2">3.3</a></li></ul></li><li class="indline0"><a id="rfc.index.B" href="#rfc.index.B"><b>B</b></a><ul class="ind"><li class="indline1">background PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.b.1">3.1</a></li><li class="indline1">bb Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.b.3"><b>10.3</b></a>, <a class="iref" href="#rfc.iref.b.7">A</a></li><li class="indline1">bc Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.b.4"><b>10.4</b></a>, <a class="iref" href="#rfc.iref.b.8">A</a></li><li class="indline1">bcp14 Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.b.2"><b>10.2</b></a>, <a class="iref" href="#rfc.iref.b.9">A</a></li><li class="indline1">blockquote Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.b.5"><b>10.5</b></a>, <a class="iref" href="#rfc.iref.b.10">A</a></li><li class="indline1">bt Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.b.6"><b>10.6</b></a>, <a class="iref" href="#rfc.iref.b.11">A</a></li></ul></li><li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind"><li class="indline1">chapter HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.3">6.2</a></li><li class="indline1">CHM format&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.7">8</a></li><li class="indline1">comments PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.2">3.1</a></li><li class="indline1">compact PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.1">3.1</a></li><li class="indline1">contents HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.4">6.2</a></li><li class="indline1">copyright HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.5">6.2</a></li><li class="indline1">Creator DCMI property&nbsp;&nbsp;<a class="iref" href="#rfc.iref.c.6">6.4</a></li></ul></li><li class="indline0"><a id="rfc.index.D" href="#rfc.index.D"><b>D</b></a><ul class="ind"><li class="indline1">Date.Issued DCMI property&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.2">6.4</a></li><li class="indline1">DCMI properties&nbsp;&nbsp;<ul class="ind"><li class="indline1">Creator&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.1">6.4</a></li><li class="indline1">Date.Issued&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.3">6.4</a></li><li class="indline1">Description.Abstract&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.5">6.4</a></li><li class="indline1">Identifier&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.6">6.4</a></li><li class="indline1">Relation.Replaces&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.7">6.4</a></li></ul></li><li class="indline1">Description.Abstract DCMI property&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.4">6.4</a></li><li class="indline1">dfn Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.d.8"><b>10.7</b></a>, <a class="iref" href="#rfc.iref.d.9">A</a></li></ul></li><li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind"><li class="indline1">editing PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.1">3.1</a></li><li class="indline1">Extension Elements&nbsp;&nbsp;<ul class="ind"><li class="indline1">anchor-alias&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.2"><b>10.1</b></a>, <a class="iref" href="#rfc.iref.e.16">A</a></li><li class="indline1">assign-section-number&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.17">A</a></li><li class="indline1">bb&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.4"><b>10.3</b></a>, <a class="iref" href="#rfc.iref.e.18">A</a></li><li class="indline1">bc&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.5"><b>10.4</b></a>, <a class="iref" href="#rfc.iref.e.19">A</a></li><li class="indline1">bcp14&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.3"><b>10.2</b></a>, <a class="iref" href="#rfc.iref.e.20">A</a></li><li class="indline1">blockquote&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.6"><b>10.5</b></a>, <a class="iref" href="#rfc.iref.e.21">A</a></li><li class="indline1">bt&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.7"><b>10.6</b></a>, <a class="iref" href="#rfc.iref.e.22">A</a></li><li class="indline1">dfn&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.8"><b>10.7</b></a>, <a class="iref" href="#rfc.iref.e.23">A</a></li><li class="indline1">h&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.9"><b>10.8</b></a>, <a class="iref" href="#rfc.iref.e.24">A</a></li><li class="indline1">length-of&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.10"><b>10.9</b></a>, <a class="iref" href="#rfc.iref.e.25">A</a></li><li class="indline1">link&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.11"><b>10.10</b></a>, <a class="iref" href="#rfc.iref.e.26">A</a></li><li class="indline1">lt&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.12"><b>10.11</b></a>, <a class="iref" href="#rfc.iref.e.27">A</a></li><li class="indline1">q&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.13"><b>10.12</b></a>, <a class="iref" href="#rfc.iref.e.28">A</a></li><li class="indline1">ref&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.14"><b>10.13</b></a>, <a class="iref" href="#rfc.iref.e.29">A</a></li><li class="indline1">source&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.15"><b>10.14</b></a>, <a class="iref" href="#rfc.iref.e.30">A</a></li><li class="indline1">span&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.31">A</a></li><li class="indline1">x&nbsp;&nbsp;<a class="iref" href="#rfc.iref.e.32">A</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind"><li class="indline1">Firefox&nbsp;&nbsp;<ul class="ind"><li class="indline1">1.*/2.*&nbsp;&nbsp;<a class="iref" href="#rfc.iref.f.3">5.2</a></li><li class="indline1">3.*&nbsp;&nbsp;<a class="iref" href="#rfc.iref.f.2">5.2</a></li></ul></li><li class="indline1">footer PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.f.1">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind"><li class="indline1">generator HTML META element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.1">6.3</a></li><li class="indline1">Grammar&nbsp;&nbsp;<a class="iref" href="#rfc.iref.g.2"><b>A</b></a></li></ul></li><li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind"><li class="indline1">h Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.12"><b>10.8</b></a>, <a class="iref" href="#rfc.iref.h.13">A</a></li><li class="indline1">header PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.1">3.1</a></li><li class="indline1"><em>HTML</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.HTML.1">6.1</a>, <a class="iref" href="#rfc.xref.HTML.2">10.5</a>, <a class="iref" href="#rfc.xref.HTML.3">10.7</a>, <a class="iref" href="#rfc.xref.HTML.4">10.12</a>, <a class="iref" href="#HTML"><b>12</b></a></li><li class="indline1">HTML compliance&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.2">6.1</a></li><li class="indline1">HTML LINK elements&nbsp;&nbsp;<ul class="ind"><li class="indline1">alternate&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.3">6.2</a></li><li class="indline1">appendix&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.4">6.2</a></li><li class="indline1">author&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.5">6.2</a></li><li class="indline1">chapter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.6">6.2</a></li><li class="indline1">contents&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.7">6.2</a></li><li class="indline1">copyright&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.8">6.2</a></li><li class="indline1">index&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.9">6.2</a></li></ul></li><li class="indline1">HTML META elements&nbsp;&nbsp;<ul class="ind"><li class="indline1">generator&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.10">6.3</a></li><li class="indline1">keywords&nbsp;&nbsp;<a class="iref" href="#rfc.iref.h.11">6.3</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind"><li class="indline1">Identifier DCMI property&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.9">6.4</a></li><li class="indline1">include PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.3">3.2</a></li><li class="indline1">include-references-in-index PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.4">3.3</a></li><li class="indline1">index HTML LINK element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.8">6.2</a></li><li class="indline1">inline PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.1">3.1</a></li><li class="indline1">Internet Explorer 5.5&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.5">5.2</a></li><li class="indline1">Internet Explorer 6&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.6">5.2</a></li><li class="indline1">Internet Explorer 7&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.7">5.2</a></li><li class="indline1">iprnotified PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.i.2">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.J" href="#rfc.index.J"><b>J</b></a><ul class="ind"><li class="indline1">justification PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.j.1">3.3</a></li></ul></li><li class="indline0"><a id="rfc.index.K" href="#rfc.index.K"><b>K</b></a><ul class="ind"><li class="indline1">keywords HTML META element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.k.1">6.3</a></li></ul></li><li class="indline0"><a id="rfc.index.L" href="#rfc.index.L"><b>L</b></a><ul class="ind"><li class="indline1">length-of Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.l.2"><b>10.9</b></a>, <a class="iref" href="#rfc.iref.l.5">A</a></li><li class="indline1">link Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.l.3"><b>10.10</b></a>, <a class="iref" href="#rfc.iref.l.6">A</a></li><li class="indline1">linkmailto PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.l.1">3.1</a></li><li class="indline1">lt Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.l.4"><b>10.11</b></a>, <a class="iref" href="#rfc.iref.l.7">A</a></li></ul></li><li class="indline0"><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul class="ind"><li class="indline1">Microsoft Help&nbsp;&nbsp;<a class="iref" href="#rfc.iref.m.5">8</a></li><li class="indline1">Mozilla&nbsp;&nbsp;<a class="iref" href="#rfc.iref.m.3">5.2</a>, <a class="iref" href="#rfc.iref.m.4">5.2</a></li><li class="indline1">MSXML3&nbsp;&nbsp;<a class="iref" href="#rfc.iref.m.1">5.1</a></li><li class="indline1">MSXML4&nbsp;&nbsp;<a class="iref" href="#rfc.iref.m.2">5.1</a></li></ul></li><li class="indline0"><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul class="ind"><li class="indline1">needLines PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.n.1">3.2</a></li></ul></li><li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind"><li class="indline1">Opera&nbsp;&nbsp;<a class="iref" href="#rfc.iref.o.1">5.2</a>, <a class="iref" href="#rfc.iref.o.3">5.2</a><ul class="ind"><li class="indline1">9.5&nbsp;&nbsp;<a class="iref" href="#rfc.iref.o.2">5.2</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"><li class="indline1">Parameters&nbsp;&nbsp;<ul class="ind"><li class="indline1">xml2rfc-background&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.2">3.1</a></li><li class="indline1">xml2rfc-comments&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.6">3.1</a></li><li class="indline1">xml2rfc-compact&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.4">3.1</a></li><li class="indline1">xml2rfc-editing&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.8">3.1</a></li><li class="indline1">xml2rfc-ext-allow-markup-in-artwork&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.40">3.3</a></li><li class="indline1">xml2rfc-ext-authors-section&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.42">3.3</a></li><li class="indline1">xml2rfc-ext-include-references-in-index&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.44">3.3</a></li><li class="indline1">xml2rfc-ext-justification&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.46">3.3</a></li><li class="indline1">xml2rfc-ext-parse-xml-in-artwork&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.49">3.3</a></li><li class="indline1">xml2rfc-ext-sec-no-trailing-dots&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.53">3.3</a></li><li class="indline1">xml2rfc-ext-support-rfc2731&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.51">3.3</a></li><li class="indline1">xml2rfc-footer&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.10">3.1</a></li><li class="indline1">xml2rfc-header&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.12">3.1</a></li><li class="indline1">xml2rfc-inline&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.14">3.1</a></li><li class="indline1">xml2rfc-iprnotified&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.16">3.1</a></li><li class="indline1">xml2rfc-linkmailto&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.18">3.1</a></li><li class="indline1">xml2rfc-private&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.21">3.1</a></li><li class="indline1">xml2rfc-sortrefs&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.23">3.1</a></li><li class="indline1">xml2rfc-symrefs&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.25">3.1</a></li><li class="indline1">xml2rfc-toc&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.27">3.1</a></li><li class="indline1">xml2rfc-tocdepth&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.29">3.1</a></li><li class="indline1">xml2rfc-topblock&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.31">3.1</a></li></ul></li><li class="indline1">parse-xml-in-artwork PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.47">3.3</a></li><li class="indline1">private PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.19">3.1</a></li><li class="indline1">Processing Instruction pseudo attributes&nbsp;&nbsp;<ul class="ind"><li class="indline1">allow-markup-in-artwork&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.39">3.3</a></li><li class="indline1">authors-section&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.41">3.3</a></li><li class="indline1">background&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.1">3.1</a></li><li class="indline1">comments&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.5">3.1</a></li><li class="indline1">compact&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.3">3.1</a></li><li class="indline1">editing&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.7">3.1</a></li><li class="indline1">footer&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.9">3.1</a></li><li class="indline1">header&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.11">3.1</a></li><li class="indline1">ijustification&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.45">3.3</a></li><li class="indline1">include&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.32">3.2</a></li><li class="indline1">include-references-in-index&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.43">3.3</a></li><li class="indline1">inline&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.13">3.1</a></li><li class="indline1">iprnotified&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.15">3.1</a></li><li class="indline1">linkmailto&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.17">3.1</a></li><li class="indline1">needLines&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.33">3.2</a></li><li class="indline1">parse-xml-in-artwork&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.48">3.3</a></li><li class="indline1">private&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.20">3.1</a></li><li class="indline1">sec-no-trailing-dots&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.52">3.3</a></li><li class="indline1">slides&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.34">3.2</a></li><li class="indline1">sortrefs&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.22">3.1</a></li><li class="indline1">strict&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.35">3.2</a></li><li class="indline1">subcompact&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.36">3.2</a></li><li class="indline1">support-rfc2731&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.50">3.3</a></li><li class="indline1">symrefs&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.24">3.1</a></li><li class="indline1">toc&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.26">3.1</a></li><li class="indline1">tocdepth&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.28">3.1</a></li><li class="indline1">tocindent&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.37">3.2</a></li><li class="indline1">tocompact&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.38">3.2</a></li><li class="indline1">topblock&nbsp;&nbsp;<a class="iref" href="#rfc.iref.p.30">3.1</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.Q" href="#rfc.index.Q"><b>Q</b></a><ul class="ind"><li class="indline1">q Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.q.1"><b>10.12</b></a>, <a class="iref" href="#rfc.iref.q.2">A</a></li></ul></li><li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"><li class="indline1">ref Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.21"><b>10.13</b></a>, <a class="iref" href="#rfc.iref.r.23">A</a></li><li class="indline1">Relation.Replaces DCMI property&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.20">6.4</a></li><li class="indline1">RELAX NG Compact Schema&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.22"><b>A</b></a></li><li class="indline1">rfc.abstract anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.1">4</a></li><li class="indline1">rfc.authors anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.2">4</a></li><li class="indline1">rfc.copyright anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.3">4</a></li><li class="indline1">rfc.copyrightnotice anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.4">4</a></li><li class="indline1">rfc.figure.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.5">4</a>, <a class="iref" href="#rfc.iref.r.16">4</a></li><li class="indline1">rfc.figure.u.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.6">4</a>, <a class="iref" href="#rfc.iref.r.17">4</a></li><li class="indline1">rfc.index anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.7">4</a></li><li class="indline1">rfc.ipr anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.8">4</a></li><li class="indline1">rfc.iref.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.9">4</a></li><li class="indline1">rfc.note.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.10">4</a></li><li class="indline1">rfc.references anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.11">4</a></li><li class="indline1">rfc.references.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.12">4</a></li><li class="indline1">rfc.section.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.13">4</a></li><li class="indline1">rfc.section.n.p.m anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.14">4</a></li><li class="indline1">rfc.status anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.15">4</a></li><li class="indline1">rfc.toc anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.18">4</a></li><li class="indline1">rfc.xref.name.n anchor&nbsp;&nbsp;<a class="iref" href="#rfc.iref.r.19">4</a></li><li class="indline1"><em>RFC2119</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2119.1">10.2</a>, <a class="iref" href="#rfc.xref.RFC2119.2">10.18</a>, <a class="iref" href="#RFC2119"><b>12</b></a><ul class="ind"><li class="indline1"><em>Section 5</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2119.2">10.18</a></li></ul></li><li class="indline1"><em>RFC2616</em>&nbsp;&nbsp;<a class="iref" href="#RFC2616"><b>12</b></a>, <a class="iref" href="#rfc.xref.RFC2616.1">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.2">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">B.1</a><ul class="ind"><li class="indline1"><em>Section 2.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2616.1">B.1</a></li><li class="indline1"><em>Section 19.1</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2616.2">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">B.1</a></li></ul></li><li class="indline1"><em>RFC2629</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2629.1">1</a>, <a class="iref" href="#RFC2629"><b>12</b></a></li><li class="indline1"><em>RFC2648</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2648.1">6.4</a>, <a class="iref" href="#RFC2648"><b>12</b></a></li><li class="indline1"><em>RFC2731</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.RFC2731.1">6.4</a>, <a class="iref" href="#RFC2731"><b>12</b></a></li><li class="indline1"><em>RFC5234</em>&nbsp;&nbsp;<a class="iref" href="#RFC5234"><b>12</b></a>, <a class="iref" href="#rfc.xref.RFC5234.1">B.1</a></li><li class="indline1"><em>RNC</em>&nbsp;&nbsp;<a class="iref" href="#RNC"><b>12</b></a>, <a class="iref" href="#rfc.xref.RNC.1">A</a>, <a class="iref" href="#rfc.xref.RNC.2">B.1</a></li></ul></li><li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind"><li class="indline1">Safari&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.9">5.2</a>, <a class="iref" href="#rfc.iref.s.11">5.2</a><ul class="ind"><li class="indline1">3.*&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.10">5.2</a></li></ul></li><li class="indline1">Saxon&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.8">5.1</a></li><li class="indline1">Schema&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.13"><b>A</b></a></li><li class="indline1">sec-no-trailing-dots PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.7">3.3</a></li><li class="indline1">slides PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.3">3.2</a></li><li class="indline1">sortrefs PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.1">3.1</a></li><li class="indline1">source Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.12"><b>10.14</b></a>, <a class="iref" href="#rfc.iref.s.14">A</a></li><li class="indline1">span Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.15">A</a></li><li class="indline1">strict PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.4">3.2</a></li><li class="indline1">subcompact PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.5">3.2</a></li><li class="indline1">support-rfc2731 PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.6">3.3</a></li><li class="indline1">symrefs PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.s.2">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.T" href="#rfc.index.T"><b>T</b></a><ul class="ind"><li class="indline1">toc PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.t.1">3.1</a></li><li class="indline1">tocdepth PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.t.2">3.1</a></li><li class="indline1">tocindent PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.t.4">3.2</a></li><li class="indline1">tocompact PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.t.5">3.2</a></li><li class="indline1">topblock PI pseudo-attribute&nbsp;&nbsp;<a class="iref" href="#rfc.iref.t.3">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.X" href="#rfc.index.X"><b>X</b></a><ul class="ind"><li class="indline1">x Extension Element&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.27">A</a></li><li class="indline1">Xalan&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.24">5.1</a></li><li class="indline1"><em>XHTML2</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.XHTML2.1">10.8</a>, <a class="iref" href="#XHTML2"><b>12</b></a></li><li class="indline1">xml-stylesheet PI&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.26">6</a></li><li class="indline1">xml2rfc-background parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.2">3.1</a></li><li class="indline1">xml2rfc-comments parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.4">3.1</a></li><li class="indline1">xml2rfc-editing parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.3">3.1</a>, <a class="iref" href="#rfc.iref.x.5">3.1</a></li><li class="indline1">xml2rfc-ext-allow-markup-in-artwork parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.17">3.3</a></li><li class="indline1">xml2rfc-ext-authors-section parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.18">3.3</a></li><li class="indline1">xml2rfc-ext-include-references-in-index parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.19">3.3</a></li><li class="indline1">xml2rfc-ext-justification parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.20">3.3</a></li><li class="indline1">xml2rfc-ext-parse-xml-in-artwork parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.21">3.3</a></li><li class="indline1">xml2rfc-ext-sec-no-trailing-dots parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.23">3.3</a></li><li class="indline1">xml2rfc-ext-support-rfc2731 parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.22">3.3</a></li><li class="indline1">xml2rfc-footer parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.6">3.1</a></li><li class="indline1">xml2rfc-header parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.7">3.1</a></li><li class="indline1">xml2rfc-inline parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.8">3.1</a></li><li class="indline1">xml2rfc-iprnotified parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.9">3.1</a></li><li class="indline1">xml2rfc-linkmailto parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.10">3.1</a></li><li class="indline1">xml2rfc-private parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.11">3.1</a></li><li class="indline1">xml2rfc-sortrefs parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.12">3.1</a></li><li class="indline1">xml2rfc-symrefs parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.13">3.1</a></li><li class="indline1">xml2rfc-toc parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.14">3.1</a></li><li class="indline1">xml2rfc-tocdepth parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.15">3.1</a></li><li class="indline1">xml2rfc-topblock parameter&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.16">3.1</a></li><li class="indline1"><em>XSL-FO</em>&nbsp;&nbsp;<a class="iref" href="#rfc.xref.XSL-FO.1">9.1</a>, <a class="iref" href="#rfc.xref.XSL-FO.2">9.1</a>, <a class="iref" href="#XSL-FO"><b>12</b></a></li><li class="indline1">xsltproc&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.25">5.1</a><ul class="ind"><li class="indline1">passing parameters&nbsp;&nbsp;<a class="iref" href="#rfc.iref.x.1">3</a></li></ul></li></ul></li></ul></div></body></html>